当前位置: 代码迷 >> Iphone >> iPhone的九宫格兑现
  详细解决方案

iPhone的九宫格兑现

热度:77   发布时间:2016-04-25 06:27:21.0
iPhone的九宫格实现

在 iPhone 软件里实现手机上经典的九宫格界面

?

核心就这2个方法:

//Power by ieliwb.com- ( void ) viewDidLoad {     [ super viewDidLoad ] ;         NSArray * imageNames = [ NSArray arrayWithObjects :                                        @ " ico_mobile.png " ,                                        @ " ico_idcard.png " ,                                        @ " ico_postcode.png " ,                                        @ " ico_flight.png " ,                                        @ " ico_translate.png " ,                                        @ " ico_phone.png " ,                                        @ " ico_car.png " ,                                        @ " ico_health.png " ,                                        @ " ico_bjxm.png " , nil ] ;      UIButton * Btn ;     for ( int i = 0 ; i < 9 ; i ++ ) {         CGRect frame ;         Btn = [[ UIButton buttonWithType : UIButtonTypeCustom ] retain ] ;         [ Btn setImage : [ UIImage imageNamed : [ imageNames objectAtIndex : i ]] forState : UIControlStateNormal ] ; //设置按钮图片                 Btn . tag = i ;                 frame . size . width = 59 ; //设置按钮坐标及大小         frame . size . height = 75 ;         frame . origin . x = ( i % 3 ) * ( 59 + 32 ) + 40 ;         frame . origin . y = floor ( i / 3 ) * ( 75 + 24 ) + 40 ;         [ Btn setFrame : frame ] ;                 [ Btn setBackgroundColor : [ UIColor clearColor ]] ;         [ Btn addTarget : self action :@ selector ( btnPressed : ) forControlEvents : UIControlEventTouchUpInside ] ;         [ self . view addSubview : Btn ] ;         [ Btn release ] ;             }        } //响应按钮事件- ( void ) btnPressed : ( id ) sender {     UIButton * Btn = ( UIButton * ) sender ;         int index = Btn . tag ;         switch ( index ) {         case 0 :             if ( mobileController == nil )                 mobileController = [[ MobileController alloc ] init ] ;             [ self . navigationController pushViewController : mobileController animated : YES ] ;             break ;         //其他几个控制器类似     } }
?

九宫格背景修改可以这样实现:

- ( void ) loadView {     UIImageView * contentView = [[ UIImageView alloc ] initWithFrame : [[ UIScreen mainScreen ] applicationFrame ]] ;     [ contentView setImage : [ UIImage imageNamed :@ " subview_9_bg.png " ]] ;     [ contentView setUserInteractionEnabled : YES ] ;     self . view = contentView ;     [ contentView release ] ;}?
?

UINavigationBar背景图片可以这样实现:

@ implementation UINavigationBar ( CustomImage )- ( void ) drawRect : ( CGRect ) rect {     UIImage * image = [ UIImage imageNamed : @ " top_bg.png " ] ;     [ image drawInRect : CGRectMake ( 0 , 0 , self . frame . size . width , self . frame . size . height )] ;}@ end
?

?

  相关解决方案