2014-01-16 2 views
2

상단 및 하단에 두 개의 UIToolbar이 있습니다. 그리고 iOS 버전에서 일관되게 모양을 적용하려고합니다. 매개 변수 topOrBottom의 이름을 지정하는 iOS5 이후로 setBackgroundImage: forToolbarPosition:이 있습니다. 그러나 매개 변수 유형 UIBarPosition은 분명히 두 개 이상의 옵션을 가진 열거 형이며 (이는 Or이 IMO를 제안 함) iOS7 이후에만 존재를 선언합니다 (온라인 Apple 의사가 확인한 이후).위쪽/아래쪽 위치에 대한 UIToolbar 모양 인터페이스

관찰 된 효과는 이미지가 iOS7에서만 위치별로 적용된다는 것입니다. iOS6에서는 위치 매개 변수에 관계없이 이미지가 두 위치 모두에 적용됩니다. 어느 것이 놀랍지 않습니다. 왜냐하면 UIBarPositioningDelegate은 iOS < 7에서 호출되지 않았기 때문에 툴바 프레임을 특정 값으로 설정함으로써 의미하는 바를 이해하지 못하기 때문입니다. 하지만 iOS5 이후 매개 변수 toolbarPosition이 존재하므로 질문은 : iOS에서 매개 변수를 사용하려면 어떻게해야합니까? < 7? UIAppearance을 통해 사용할 수 있습니까?

답변

1

이 오류는 Xcode 4.6.3에서도 재현 할 수 있습니다. 나는 이것이 버그이거나 잘못된 문서라고 생각한다. Xcode 4.6.3에서는 UIToolbarPosition에 대한 설명서가 나중에 UIBarPosition으로 변경되었습니다.

UIToolbarPositionAny 
Indicates the toolbar may be in any position. 
Available in iOS 5.0 and later. 
Declared in UIToolbar.h. 

UIToolbarPositionBottom 
Indicates the toolbar is at the **top** of its containing view. 
Available in iOS 5.0 and later. 
Declared in UIToolbar.h. 

UIToolbarPositionTop 
Indicates the toolbar is at the **bottom** of its containing view. 
Available in iOS 5.0 and later. 
Declared in UIToolbar.h. 

여기서도 알 수 있듯이 잘못된 것으로 보입니다. 그래서 우리는 UIToolbarPosition과 UIBarPosition이 의미하는 것의 오해가 있다고 생각합니다. (가능성은 희박하지만 가능한 그림자를 나타낼뿐입니다), 또는 버그입니다. 이모.

편집 :

typedef enum { 
    UIToolbarPositionAny = 0, 
    UIToolbarPositionBottom = 1, 
    UIToolbarPositionTop = 2, 
} UIToolbarPosition; 
+0

잘 나는 최대 : 당신이 값이 무엇을 말해 줄 수하면 오류를 고려하지 않았고 오히려 실수를 지적하는 사람을 기다리고 있었다, 그래서 머리 +1 이 원래 열거 형? 나는 그들이 똑같이 해결되도록하고 싶다. –

+0

위의 것들은 원래의'UIToolbarPoistion' enum입니다. 어떤 다른 사람을 원하십니까? – random

+0

값을 의미합니다. 명시적인 값이 할당 되었습니까? 아니면 기본값이 0,1,2입니까? 새로운 iOS7 enum은 같은 이름조차 가지고 있지 않습니다. 가장 가까운 동등 물이 같은 값으로 해결 될 수도 있습니다. 그게 내가 묻고있는거야. –