2010-02-08 4 views
1
[Button1 setFrame:CGRectMake(0, 0, 50, 0)]; 
[Button2 setFrame:CGRectMake(0, 0, 120, 0)]; 
[Button3 setFrame:CGRectMake(0, 0, 50, 0)]; 


self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:Button1]; 
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:Button2]; 
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:Button3]; 

NavigationBar에 단추를 추가하고 싶습니다. NavigationBar에는 3 개의 버튼이 있습니다.setFrame을 적용하지 않습니다. CGRectMake

네비게이션 구성은 다음과 같습니다.

button 1 button 2   text   button3 

그러나 나는 그것을 보여주지 않았습니다. 이게 좋아.

  button 2   text   button3 

Button1, Button2 및 Button3은 이미지입니다.

Button1 setFrame이 작동하지 않는다고 생각했습니다.

생각합니다 setFrame : CGRectMake (0,0,50,0) Button1 및 setFrame : CGRectMake (0,0,120,0)는 Button2에서 작동합니다. 따라서 Button1은 Button2 setFrame에 의해 지워집니다.

작동 방법 Button1 setFrame?

도와주세요.

답변

1

setFrame: 호출과 관련이 없습니다. 두 개의 버튼을 leftBarButtonItem에 할당 할 수 없습니다. 두 번째 할당이 첫 번째 할당을 덮어 씁니다. 빈보기를 만들고이보기에 두 개의 단추를 추가하고 (프레임이 나란히 놓 이도록 프레임을 올바르게 설정)이 컨테이너보기로 막대 단추 항목을 만들어야합니다.

+0

세 개의 UIBarButtonItem이 모두 누출됩니다. buttonItem 속성에 할당 한 후이를 릴리스하거나 자동 해제해야합니다. –

+0

롭의 좋은 점. 나는 그것을 언급하는 것을 잊었다. –

관련 문제