1. Objective C / Говнокод #6964

    −106

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
    {
    	if (rotateBag > 6) //после возврата, шудавторотейт вызывается 7 раз, это условие для погашения этих вызовов
    	{
    		if ([portret isEqualToString:@"horizontal"])
    		{
    			if (firstLaunch == 0) //  блок для первого запуска (по умолчанию всегда выставляет ландскейпРайт, а это не всегда правильно)
    			{
    				if (interfacePosition == 0)
    					{ self.view.transform = CGAffineTransformMakeRotation(M_PI); }
    				else
    					{ self.view.transform = CGAffineTransformIdentity; }
    				firstLaunch++;
    				indexLandscape = interfacePosition;
    			}
    			else
    			{
    				if (indexLandscape == 1)	//если изначальный вариант был правосторонний
    				{
    					if (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) // если ЛандскейпРайт
    						{ self.view.transform = CGAffineTransformIdentity;
    						  interfacePosition = 1; }
    					if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft)	// если ЛандскейпЛефт
    							{ self.view.transform = CGAffineTransformMakeRotation(M_PI);
    							  interfacePosition = 0; }
    				}
    				else				//если изначальный вариант был левосторонний
    				{
    					if (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) // если ЛандскейпРайт
    						{ self.view.transform = CGAffineTransformMakeRotation(M_PI);
    						  interfacePosition = 1; }
    					if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft)	// если ЛандскейпЛефт
    						{ self.view.transform = CGAffineTransformIdentity;
    						  interfacePosition = 0; }
    				}
    			}
    		}
    		else
    		{
    			if (firstLaunch == 0) //  блок для первого запуска (по умолчанию показывается правильно, поэтому ничего делать не надо)
    				{ firstLaunch++; }
    			else
    			{
    				if (toInterfaceOrientation == UIInterfaceOrientationPortrait)
    					{ self.view.transform = CGAffineTransformIdentity; }
    				if (toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
    					{ self.view.transform = CGAffineTransformMakeRotation(M_PI); }
    			}
    		}
    	}
    	else { 
    		rotateBag++; 
    	}
    	return false;
    }

    Крутящаяся сумка в действии...
    Поворот дисплея в 50 строк :\

    Запостил: mrWindMak3r, 16 Июня 2011

    Комментарии (4) RSS

    • >шудавторотейт
      и почему я читаю это и краснею, буд-то слово какое плохое ляпнул.
      Ответить
    • > ЛандскейпРайт
      то ли раскладку лень было переключать...
      Ответить
    • if (toInterfaceOrientation == UIInterfaceOrientationPortrait) // если туИнтерфейсОриентейшен равен УИИнтерфейсОриентейшенПортрет
      { self.view.transform = CGAffineTransformIdentity; } // то трансформ равен ЦГАффинТрансформИдентити
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий