iOS 프로젝트 실전 02

3254 단어
플러그인 수정: 플러그인 찾기 -> 플러그인 경로 (기억할 수 없음) -> Xcode 플러그인 개발 -> 플러그인 코드 보기 -> install -> 검색하면 플러그인 설치 경로를 찾을 수 있습니다
1. 로드 게으름 메커니즘
 UIViewController view,     
- (UIView *)view
{
    if (_view == nil) {
        [self loadView];
        [self viewDidLoad];
    }
    return _view;
}

2.tabBar의 버튼 문제
  • tabBarItem은 단추가 아니라 단추 대응 모델
  • 입니다
  • tabBar의 단추 내용은 하위 컨트롤러에 대응하는tabBarItem에 의해 결정됩니다
  • 내비게이션 컨트롤러 하위 컨트롤러를 통해 설정하려면 그림을 설정해야 한다
  • 그림이 선택되었을 때 그림이 렌더링됨
  • 직접 수정 사진Render As:Original Image
  • 코드 통과
  • 단추가 선택되었을 때 텍스트도 렌더링됩니다. 해결 방법: 풍부한 텍스트 속성을 통해 텍스트 색깔, 글씨체, 음영, 밑줄, 그림 혼합 등을 설정합니다
  • //           
    //      ,             
    //       :             
    //     
    + (void)load
    { 
        //       
        //     UITabBarItem  
        UITabBarItem *item = [UITabBarItem appearance];
        //        
        //         
        // Bug:               ,               
        NSMutableDictionary *attr = [NSMutableDictionary dictionary];
        attr[NSForegroundColorAttributeName] = [UIColor blackColor];
        //            
        [item setTitleTextAttributes:attr forState:UIControlStateSelected];
        
        //            
        NSMutableDictionary *attrNor = [NSMutableDictionary dictionary];
        attrNor[NSFontAttributeName] = [UIFont systemFontOfSize:13];
        [item setTitleTextAttributes:attrNor forState:UIControlStateNormal];
    }
    
    
  • 중간 게시 단추가 표시되지 않으며 보통이나 선택한 상태에서 렌더링됩니다(그림 크기가tabBar 높이와 같으면 렌더링됩니다)
  • 시스템 속성을 통해 백사타바를 실현할 수 없습니다. 시스템의 백사타바는 선택한 상태만 있지만 백사 중간 단추가 밝습니다
  • 사용자 정의 단추를 해당 위치 tarBar 위치에 추가
  • 사용자 정의 단추가viewDidLoad에 추가되고tabBa에 원래 있던 단추가 사용자 정의 단추보다 추가되고viewWillAppear 추가
  • 원래 tarBarItem을 실효vc2.tabBarItem.enabled = NO;

  • 3. 내비게이션 막대 내용 설정
  • 내비게이션 게이지 설정 내용 = > 내비게이션 컨트롤러의 창고 꼭대기 컨트롤러navigationItem에 의해 결정
  • UINavigationItem: 내비게이션 막대(왼쪽, 오른쪽, 중간) 내용 결정
  • UIBARButtonItem: 내비게이션 표시줄의 단추의 구체적인 내용을 결정
  • bug: 버튼 클릭 범위가 비교적 넓고 버튼 범위를 초과하면 응답합니다
  • 버튼 하나를 UIBAR Button Item으로 포장하면 문제가 있습니다. 버튼 하나를 UIBAR Button Item으로 포장할 수 없습니다
  • UIView 포장 버튼으로 UIBAR Button Item
  • 으로 포장
    UIView *containerView = [[UIView alloc] initWithFrame:btn.bounds];
        [containerView addSubview:btn];
        
        return [[UIBarButtonItem alloc] initWithCustomView:containerView];
    
  • 내비게이션 게이지 설정 단추의 선택 상태는 코드로만 가능
  •     UIBarButtonItem *setting =  [UIBarButtonItem itemWithImage:[UIImage imageNamed:@"mine-setting-icon"] highImage:[UIImage imageNamed:@"mine-setting-icon-click"] target:self action:@selector(settingClick)];
    
        UIBarButtonItem *night =  [UIBarButtonItem itemWithImage:[UIImage imageNamed:@"mine-moon-icon"] selImage:[UIImage imageNamed:@"mine-moon-icon-click"] target:self action:@selector(nightClick:)];
        
        self.navigationItem.rightBarButtonItems = @[setting,night];
        
    }
    - (void)nightClick:(UIButton *)btn
    {
        btn.selected = !btn.selected;    
    }
    
  • 랜덤 색상 생성
  • [UIColor colorWithRed:((float)arc4random_uniform(256) / 255.0) green:((float)arc4random_uniform(256) / 255.0) blue:((float)arc4random_uniform(256) / 255.0) alpha:1.0];```

    좋은 웹페이지 즐겨찾기