关于iOS开发的一些记录

这两天因为有点事情,重新拿起了一下iOS开发,好久没碰过了,用起来这种集成开发环境还是XCode用得比较舒服,个人感觉比VS要好一些,当然,VS也挺不错,只是在win下面程序做得少,没什么发言权,至于eclipse,和这两个比起来,我觉得还是差距挺大的。

自定义UITableViewCell


UITableView估计是iOS最常用的控件了,系统默认的那些式样早就看腻了,总想弄点新鲜的,而UITableView中最好弄新鲜的就是里面的Cell了,Cell可以自定义成你喜欢的任何样子,里面可以添加你想添加的任何控件。

自定义UITableViewCell分成以下几步走:

  • 新建一个类,继承自UITableViewCell,比如叫CustomCell
  • 新建一个EmptyUser Interface,比如叫CustomCell.nib
  • 打开CustomCell.nib,从右边下面拖入一个UITableViewCell控件进去
  • 在这个控件中放入你想放入的任何控件,比如UILabel,UIBUtton,ImageView等等,随便放。
  • 选择UITableViewCell控件,打开右上方的Identity inspector,将class选择为CustomCell
  • 选择UITableViewCell控件,打开右上方的Attributes inspector,将Identity设置为CustomCellIdentifier
  • 打开CustomCell.h,将你刚刚添加的控件在这里设置成IBOutlet变量。
  • 将这些变量连接到CustomCell.nib

好了,现在我们的ViewCell就自定义好了,在tableView-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 这个回调方法中,按照普通的Cell进行操作,只要将本来的UITableViewCell改成CustomCell,就可以了。

iOS地图的简单操作


iOS地图虽然升级成苹果地图以后遭到不少人的诟病,但是苹果的API设计一直都很不错,简单易懂,并且使用起来很方便,再加上Xcode这个神器,感觉非常棒。

  • 要操作地图,首先要将MapKit,CoreLocation这两个framework加入到项目中,然后记得在使用map的文件中import这两个.h文件

    #import <MapKit/MapKit.h>
    #import <CoreLocation/CoreLocation.h>
    
  • 添加一个MapView用来显示地图

    MKMapView           *mapView;
    
  • 初始化MapView并添加到controller的view中,其中,mapType表示是显示普通视图还是卫星图,showUserLocation表示是否显示当前用户坐标

    mapView = [[MKMapView alloc] initWithFrame:CGRectMake(5, 5, 310, 200)];
    mapView.showsUserLocation = YES;
    mapView.mapType = MKMapTypeStandard;
    [self.view addSubview:mapView];
    
  • 好了,最简单的地图使用就这样,打开以后就会显示地图了,当然,这里还是显示的世界地图,如果要定位到某一个区域的话,还需要添加下面的代码

    CLLocationCoordinate2D coords = CLLocationCoordinate2DMake(39.915352,116.397105);
    float zoomLevel = 0.02;
    MKCoordinateRegion region = MKCoordinateRegionMake(coords,MKCoordinateSpanMake(zoomLevel, zoomLevel));
    [earthquakeMap setRegion:[earthquakeMap regionThatFits:region] animated:YES];
    

这就是地图的基本使用,当然,要是要添加大头针什么的,就需要新建一个类了,然后使用MKMapViewaddAnnotation方法来添加大头针。

关于Delegate的设计和使用


Objective-C的亮点有很多,丰富的数据结构是之一,但是Delegate,也就是代理,或者说是委托吧,是我接触obj-C以后才用得多起来的,别的语言也有这个功能,但是obj-C把委托这种设计模式浸透到语言和她的cocoa框架本身去了,到处都使用着Delegate,当你做了一段时间的iOS或者Mac开发以后,会不知不觉的开始使用Delegate,而且你会觉得使用了Delegate的程序看起来更优美,耦合度似乎也更低一些。

关于Delegate的使用,要说的很多,简单来说,如果事务的逻辑过程类似于以下这个过程,你就可以考虑使用委托了。

A类要B类做一件事情,比如下载一个页面,由于A不知道B什么时候能够完成,所以使用了一个委托,当B完成这个事务以后,会通过委托来调用A类的一个方法,从而A知道B做完了这件事并且获取到了B应该给他的数据。

听上去挺绕的,多看看程序就明白了,编程这东西没什么捷径,还是多看代码才行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值