Contents

조회 수 4053 댓글 0
Atachment
첨부 '3'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

iOS 7 이후부터 UINavigationController의 UINavigationBar에 Custom UIBarButtonItem를 사용하면 여백이 생기는 현상이 발생함.


아래 그림처럼..


# iOS 6 일때

ios6.png


# iOS 7 일때는 아래처럼 왼쪽에 여백이 생김

ios7.png


이런 문제를 아래 코드를 이용해 해결할 수 있음.


# UIButton (Alignment)

- (UIEdgeInsets)alignmentRectInsets {
    UIEdgeInsets insets;
    if (SYSTEM_VERSION_LESS_THAN(@"7.0")) {
        if ([self isLeftButton]) {
            insets = UIEdgeInsetsMake(0, 9.0f, 0, 0);
        } else {
            insets = UIEdgeInsetsMake(0, 0, 0, 9.0f);
        }
    } else {
        insets = UIEdgeInsetsZero;
    }

    return insets;
}

- (BOOL)isLeftButton {
    //return self.frame.origin.x) < (self.superview.frame.size.width / 2);
    CGFloat mid = self.frame.origin.x - self.frame.size.width/2;
    return mid < (self.superview.frame.size.width / 2);
}


위의 코드를 수정해서 완성본을 업로드 해두었음..

- 압축 파일 내용

ver1 : 생성자에서 UIButton의 좌우 위치를 지정함 (레거시 코드에 적용시 alloc init 부분 수정 발생)

ver2 : 생성자 없이 UIButton 자신의 좌표로 좌우를 판단해서 알아서 적용 (레거시 코드 바로 적용)


[출처] http://stackoverflow.com/questions/18861201/uibarbuttonitem-with-custom-view-not-properly-aligned-on-ios-7-when-used-as-left


?

  1. [ios] 카테고리 확장 메소드를 찾지 못하는 경우

  2. [ios] Swift 4 Dictionary 사용하기

  3. [java] netty (비동기 이벤트 방식 네트워크 프레임워크) 사용법 #2 (client)

  4. [ios] 설정에서 푸시 알림(APNS) on/off 상태 확인

  5. [c#] mfc 기반의 웹서비스 서버/클라이언트 샘플과 예제 소스

  6. [android] SQLiteOpenHelper를 이용한 DBManager

  7. [c#] MS IE(Internet Explorer) 툴바 버튼 예제 2003/2005 두가지 버전

  8. [ios] 기본 네비게이션바의 타이틀, back버튼 위치와 속성 변경

  9. [android] 안드로이드 앱 문서 샘플

  10. [c#] 툴바 최근 버전(IE6, IE7 두가지 버전)

  11. [android] 버전 별 앱 알림 설정으로 이동하는 방법

  12. [c#] BHO 한샘툴바랑 동현툴바..

Board Pagination Prev 1 ... 8 9 10 11 12 13 14 15 16 17 ... 71 Next
/ 71