iOS应用开发基础:交互处理与控件使用
立即解锁
发布时间: 2025-08-24 01:21:10 阅读量: 1 订阅数: 8 

### iOS 应用开发基础:交互处理与控件使用
#### 1. 基本交互操作
在开发过程中,若要对按钮布局进行调整,可按以下步骤操作:
1. 回到故事板编辑器,选择其中一个按钮并将其拖向另一个按钮,然后松开。
2. 确保在文档大纲中选中刚才拖动的按钮,打开“Resolve Auto Layout Issues”弹出窗口,点击“Update Constraints”。这会让 Interface Builder 修改自动布局约束,使按钮的调整永久生效。完成后,在预览助手的两个设备中,按钮会立即跳转到新位置。
若要为标签文本添加粗体样式,需先将按钮恢复原位。可通过按“⌘Z”两次撤销上一次更改。
#### 2. 添加样式
`NSAttributedString` 类可将格式信息(如字体和段落对齐方式)附加到字符串上。这些元数据可应用于整个字符串,也可对不同部分应用不同属性。在 iOS 6 之前,苹果提供的 UIKit 类无法处理属性字符串,若要显示包含粗体和正常文本的标签,需使用两个标签或自行将文本绘制到视图中。但 iOS 6 之后,大多数主要的 UIKit 控件都支持使用属性字符串。
以下是更新 `ViewController.m` 中 `buttonPressed:` 方法的代码:
```objc
- (IBAction)buttonPressed:(UIButton *)sender {
NSString *title = [sender titleForState:UIControlStateNormal];
NSString *plainText = [NSString stringWithFormat:@"%@ button pressed.", title];
_statusLabel.text = plainText;
NSMutableAttributedString *styledText = [[NSMutableAttributedString alloc]
initWithString:plainText];
NSDictionary *attributes =
@{
NSFontAttributeName : [UIFont boldSystemFontOfSize:_statusLabel.font.pointSize]
};
NSRange nameRange = [plainText rangeOfString:title];
[styledText setAttributes:attributes range:nameRange];
_statusLabel.attributedText = styledText;
}
```
新代码的执行流程如下:
1. 创建一个 `NSMutableAttributedString` 实例,基于要显示的字符串。因为需要更改其属性,所以使用可变属性字符串。
2. 创建一个字典来保存要应用到字符串的属性,这里只有一个属性,即 `NSFontAttributeName`,指定为与标签当前字体大小相同的粗体系统字体。
3. 获取 `plainText` 中标题的范围,将属性应用到该范围,并将其传递给标签。
#### 3. 应用程序委托
Cocoa Touch 广泛使用委托,应用程序委托可在特定预定义时间代表 `UIApplication` 类执行任务。每个 iOS 应用都有一个 `UIApplication` 实例,负责应用程序的运行循环和处理应用程序级功能。
在项目导航器中点击 `AppDelegate.h` 可查看应用程序委托的头文件:
```objc
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
```
其中 `@interface AppDelegate : UIResponder <UIApplicationDelegate>` 表明该类遵循 `UIApplicationDelegate` 协议。按住“⌥”键点击该协议名,可打开快速帮助面板查看协议概述,点击底部的“Reference” 链接可查看完整文档,点击 “Declared In” 链接可查看其在头文件中的定义。
点击 `AppDelegate.m` 可查看应用程序委托的实现:
```objc
#
```
0
0
复制全文
相关推荐










