1.UIButton
苹果系统用户交互的思想是基于消息和响应的,手动让组件触发didTapButton这个方法:
[myButton addTarget:self action:@selector(didTapButton:)forControlEvents:UIControlEventTouchUplnside];
上文方法中最后一个参数是位掩码事件.在按钮事件中,默认使用UIControlEventTouchUplnside(用户手指离开屏幕的时候触发), 还有另一个常用的事件
UIControlEventValueChanged(当组件的值发生变化的时候触发),例如slider的变化.
很容易就能自定义UIButton的外观,
让按钮普通状态是红色的,高亮状态是蓝色的:
[button setTitleColor:[UIColor redColor] forState:UIControlStateNorrnal]; [button setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];
创建一个带背景图片的按钮:
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];[myButton setBackgroundImage:myBackgroundImage forState:UIControlStateNormal];
2.UISlider
sliders有一个可以控制值从最小到最大的按钮.
在sliders 的值发生变化手动触发sliderValueChanged方法
UISlider *slider = [[UISlider alloc] init]; [slider setMinimumValue:0];[slider setMaximumValue:l00];[slider addTarget:self action :@selector(sliderValueChanged : ) forControlEvents :UIControlEventValueChanged];
3.UIAlertView
某些情况下,我们要打断用户的行为,提醒用户,我们需要UIAlertView(弹窗),判断用户选择了哪个按钮我们需要实现UIAlertViewDelegate协议(protocol):
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message :@"Message"delegate: self cancelButtonTitle :@"Cancel "otherButtonTitles:@"OK", nil];
4.UITableView
使用UITableview 你需要实现2个协议:UITableViewDataSource 和 UITableViewDelegate,在你的视图中你需要继承UITableViewController
当UITableview显示在屏幕上的时候会经历几个过程:
第一,数据源方法numberOfSectionslnTableView 被调用.
第二,tableview得到sections中的所有行.
最后,创建单元格,tableView调用 cellForRowAtIndexPath(该方法会返回UITableViewCell object),每个单元都有一个属性
reuseldentifier用于每个单元的唯一标识.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtlndexPath:(NSlndexPath *)indexPath{UITableViewCel1 *cell = [tableView dequeueReusableCellWithldentifier:@"Cellldentifier"];if (cell == nil) {cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseldentifier:@"Cellldentifier"];[[cell textLabel] setText:[NSString stringWithFormat:@"Row %d", [indexPath row]] ];return cell;}