1 //UIActivityIndicatorView //小菊花,加载======================================================================================
2
3 #import "ActivityIndicatorVC.h"
4
5 @interface ActivityIndicatorVC (){
6 UIActivityIndicatorView *_activity ;
7 }
8
9 @end
10
11 @implementation ActivityIndicatorVC
12
13 -(void)viewDidLoad{
14 [super viewDidLoad];
15
16 [self createActivityIndicator];
17
18 }
19
20 -(void)createActivityIndicator{
21 //创建对象
22 _activity = [[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(100, 200, 100, 100)];
23
24 _activity.backgroundColor = [UIColor blackColor];
25
26 _activity.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
27
28 [self.view addSubview:_activity];
29
30 //让状态栏中的activityIndicator显示出来
31 [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
32
33 //开始动画
34 [_activity startAnimating];
35
36 }
37
38
39 // 想要停止的话添加
40 // [_activity stopAnimating];
41 //[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
42
43 @end
44
45 // UIProgressView //进度条======================================================================================================
46 #import "ProgressVC.h"
47
48
49
50 @implementation ProgressVC{
51 UIProgressView *_progress ;
52 NSTimer *_timer;
53 }
54
55
56 -(void)viewDidLoad{
57 [super viewDidLoad];
58
59 self.btn.hidden = YES;
60
61 [self createProgress];
62
63 [self createTimer];
64 }
65
66 -(void)createProgress{
67 _progress = [[UIProgressView alloc]initWithFrame:CGRectMake(50, 100, 200, 50)];
68 [self.view addSubview:_progress];
69 // progress.backgroundColor = [UIColor lightGrayColor];
70
71 _progress.tintColor = [UIColor redColor];
72
73 _progress.progressTintColor = [UIColor greenColor];
74 _progress.trackTintColor = [UIColor blueColor];
75
76 _progress.progress = 0.01;
77 }
78
79 -(void)createTimer{
80 _timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(run ) userInfo:nil repeats:YES];
81 }
82
83 -(void)run{
84 _progress.progress += 0.01;
85 }
86
87 @end
88
89
90 // UISegmentedControl //分段=======================================================================================================
91
92 -(void)viewDidLoad{
93 [super viewDidLoad];
94
95 self.btn.hidden = YES;
96
97 [self createSegment];
98 }
99
100 -(void)createSegment{
101
102 NSArray *items = @[@"00000", @"1111", @"2222"];
103
104 UISegmentedControl *segment = [[UISegmentedControl alloc] initWithItems:items];
105
106 segment.frame = CGRectMake(50, 100, 300, 40);
107 segment.backgroundColor = [UIColor magentaColor];
108 segment.tintColor = [UIColor yellowColor];
109 segment.selectedSegmentIndex = 0;
110
111 [segment insertSegmentWithTitle:@"4444" atIndex:1 animated:YES];
112 [segment insertSegmentWithImage:[UIImage imageNamed:@"tab_0"] atIndex:1 animated:YES];
113 //让图片显示原始图片
114 UIImage *img = [[UIImage imageNamed:@"tab_0"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
115
116 [segment insertSegmentWithImage:img atIndex:1 animated:YES];
117
118 [self.view addSubview:segment];
119
120 //添加事件
121 [segment addTarget:self action:@selector(segmentSelected:) forControlEvents:UIControlEventValueChanged];
122
123
124 }
125
126 -(void)segmentSelected:(UISegmentedControl *)segment{
127 NSLog(@"%ld", segment.selectedSegmentIndex);
128 }
129
130
131
132 //UIStepper //步进==================================================================================================
133
134 -(void)viewDidLoad{
135 [super viewDidLoad];
136
137 self.btn.hidden = YES;
138
139 [self createStepper];
140 }
141
142 -(void)createStepper{
143 UIStepper *stepper =[[ UIStepper alloc]initWithFrame:CGRectMake(50, 100, 300, 40)];
144 [self.view addSubview:stepper];
145
146 stepper.tintColor = [UIColor redColor];
147 stepper.backgroundColor = [UIColor greenColor];
148
149 stepper.minimumValue = 0;
150 stepper.maximumValue = 100;
151 stepper.stepValue = 5;
152 stepper.wraps = YES;
153 stepper.autorepeat = YES;
154
155 [stepper addTarget:self action:@selector(steperValueChanged:) forControlEvents:UIControlEventValueChanged];
156 }
157
158 -(void)steperValueChanged:(UIStepper *)stepper{
159 NSLog(@"%f", stepper.value);
160
161
162 }
163
164 //UISwitch //开关======================================================================================================
165
166 -(void)viewDidLoad{
167 [super viewDidLoad];
168
169 self.btn.hidden = YES;
170
171 [self createSwitch];
172 }
173
174 -(void)createSwitch{
175 UISwitch *mySwitch = [[UISwitch alloc]initWithFrame:CGRectMake(50, 100, 200, 40)];
176
177 mySwitch.onTintColor = [UIColor redColor];
178 mySwitch.tintColor = [UIColor greenColor];
179
180 [self.view addSubview:mySwitch];
181
182 [mySwitch addTarget:self action:@selector(switchValueChanged:) forControlEvents:UIControlEventValueChanged];
183 }
184
185 -(void)switchValueChanged:(UISwitch *)mySwitch{
186 if (mySwitch.isOn) {
187 NSLog(@"on");
188 } else{
189 NSLog(@"off");
190 }
191 }
192
193
194 //UITextView //文本================================================================================================
195 -(void)viewDidLoad{
196 [super viewDidLoad];
197
198 self.btn.hidden = YES;
199
200 [self createTextView];
201 }
202
203 -(void)createTextView{
204 UITextView *textView = [[UITextView alloc]initWithFrame:CGRectMake(50, 100, 200, 100)];
205
206 [self.view addSubview:textView ];
207 }
208
209 //UIAlertController //警报管理===============================================================================
210 - (void)btnClicked {
211
212 UIAlertController *alertCtrl = [UIAlertController alertControllerWithTitle:@"删除" message:@"是否确定要删除该数据" preferredStyle:UIAlertControllerStyleActionSheet];
213 UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil ];
214 UIAlertAction *deleteAction = [UIAlertAction actionWithTitle:@"删除" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
215 NSLog(@"具体的删除数据的代码");
216 }];
217
218 [alertCtrl addAction:cancelAction];
219 [alertCtrl addAction:deleteAction];
220
221 [self presentViewController:alertCtrl animated:YES completion:nil];
222
223 }
224
225
226 - (void)btnClicked3 {
227
228 UIAlertController *alertCtrl = [ UIAlertController alertControllerWithTitle:@"警告" message:@"需要输入用户名和密码" preferredStyle:UIAlertControllerStyleAlert];
229 // 添加文本框
230 [alertCtrl addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
231 // 可以对文本框进行设置
232 textField.placeholder = @"用户名";
233 }];
234
235 [alertCtrl addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
236 textField.placeholder = @"密码";
237 textField.secureTextEntry = YES;
238
239 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pwdTextChanged) name:UITextFieldTextDidChangeNotification object:textField];
240 }];
241
242 // 添加一个动作,就是一个按钮
243 UIAlertAction *action2 = [UIAlertAction actionWithTitle:@"登录" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
244 // 用户点击这个按钮的操作
245 NSLog(@"用户名:%@, 密码:%@", alertCtrl.textFields[0].text , alertCtrl.textFields[1].text );
246 }];
247 action2.enabled = NO;
248 [alertCtrl addAction:action2];
249
250 // 弹出提示信息框
251 [self presentViewController:alertCtrl animated:YES completion:nil];
252
253 }
254
255 -(void)pwdTextChanged{
256 // 取得弹出的UIAlertController对象
257 UIAlertController *alertCtrl = (UIAlertController *) self.presentedViewController;
258 if (alertCtrl) {
259 UIAlertAction *loginAction = alertCtrl.actions.firstObject;
260 loginAction.enabled = YES;
261 }
262
263 }
264
265 - (void)btnClicked2 {
266
267 UIAlertController *alertCtrl = [ UIAlertController alertControllerWithTitle:@"警告" message:@"电量低" preferredStyle:UIAlertControllerStyleAlert];
268
269 UIAlertAction *action1 = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:nil];
270 UIAlertAction *action2 = [UIAlertAction actionWithTitle:@"知道了" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
271 NSLog(@"知道了");
272 }];
273 [alertCtrl addAction:action1];
274 [alertCtrl addAction:action2];
275
276 [self presentViewController:alertCtrl animated:YES completion:nil];
277
278 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~