2016-08-22 3 views
1

Navigation Controller에서 UIToolbar의 높이를 변경하고 싶지만 Xcode 7.3 및 iOS 9를 사용하여 신속하게 수행 할 수 없습니다. viewDidLoad에서 CGRectMake를 사용하여 프레임을 설정하려고했지만 작동하지 않았습니다. 또한 커스텀 UIToolbar()를 초기화하려고했지만 높이는 동일하게 유지됩니다.UIToolbar 높이를 변경하는 방법?

편집

:

Screenshot

:
답변 중 하나 당으로

, 내가 선택한 시도 도구 모음을 눌러 제어 및 도구 모음을 다시 선택을하지만, 내가 가진 것에 대신 화면 아래에 표시됩니다

답변

1

당신은 그것을 사용할 수 있습니다; 최소 높이 또는 최대 높이로 45을 변경하십시오.

override func layoutSubviews() { 
    super.layoutSubviews() 

    var frame = self.bounds 
    frame.size.height = 45 
    self.frame = frame 
} 

override func sizeThatFits(size: CGSize) -> CGSize { 
    var size = super.sizeThatFits(size) 
    size.height = 45 
    return size 
} 

다음과 같이 사용하십시오.

let navigationController = UINavigationController(navigationBarClass: nil, toolbarClass: Toolbar.self) 

감사

+0

어디에 넣을 지 물어봐도 될까요? UINavigationController에서? 메서드는 슈퍼 클래스의 메서드를 오버라이드 (override)하지 않는 것처럼 보입니다. – victorleungtw

+0

@victorleungtw가 추가되었습니다. – SwiftDeveloper

+1

완벽하게 작동 중입니다 –

0

자동 레이아웃을 사용하는 경우 높이 제한을 Storyboard에 설정할 수 있습니다.

또는이 같은 프로그램을 수행 할 수 있습니다

myToolbar.frame = CGRectMake(0, 50, 320, 35) 
+0

감사합니다.하지만 자동 레이아웃은 사용하지 않습니다. – victorleungtw

2

는 스토리 보드를 사용하거나하지 여부에 따라 두 가지 옵션이 있습니다.

옵션 1 :

1 스토리 보드 사용)는 스토리 보드와 선택한 도구 모음 프레스에서 이동하고 Ctrl 키를 누른 상태가 IBAction를 할당하는 것처럼 다시 툴바를 클릭합니다. 그럼 당신은 얻을 것이다 다음

,

enter image description here enter image description here

을 (첫 번째 이미지의 품질에 대한 죄송 Ctrl 키를 누른 상태에서 내가 스크린 샷을 만들 수 없기 때문에 한 내 전화로 스냅을 위해)

enter image description here

O :

2) 그런 다음 값을 제약 조건을 얻기 위해 높이에 눌러 변경 토론 2 : 예를 들어 스위프트 사용 55 픽셀 길이

yourToolBar.frame = CGRect(x: 0, y: view.frame.size.height - 55, width: view.frame.size.width, height: 55) 
+0

시도한 옵션 1, 그러나 스크린 샷과 동일한 창을 열 수 없습니다. 광산에는 "아울렛", "아울렛 컬렉션", "참조 아울렛"및 "참조 아울렛 컬렉션"옵션 만 있습니다. 그런데 스토리 보드에서는 자동 레이아웃이 사용 중지됩니다. – victorleungtw

+0

또한 옵션 2를 시도하고 강력한 참조 @IBOutlet을 사용하여 프레임을 UINavigationController에 설정하십시오. 어느 쪽도 변하지 않습니다. – victorleungtw

+0

예. 스토리 보드를 사용하는 경우 옵션 1을 사용해야합니다. 툴바를 선택한 다음 Ctrl 키를 누른 상태에서 툴바를 다시 클릭 했습니까? 각 끝에 파란색 점이있는 파란색 선이 표시되어야합니다. 이 1 분 전에 시도했는데 제대로 완료되면 제대로 작동합니다. 이전에 앱에서 사용했습니다. – tech4242

관련 문제