当前位置:网站首页>[oc]- < getting started with UI> -- common controls uibutton
[oc]- < getting started with UI> -- common controls uibutton
2022-07-06 08:58:00 【About Xiaosi】
List of articles
UIButton
UIButton Basics
- Buttons are all UI Very important components in the system , stay iOS Middle button UIButton The use of is also very flexible
Create text UIButton
- about UI object We should pay attention to some things when creating , establish UI Is the method of an object a class method or an instance method ?
- establish UI After object , Pay attention to the size , Location Color Wait for details
- Create a UIButton
UIButton* btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
Can only be created through class methods buttonWithType
corner type :UIButtonTypeRoundedRect
Set up UIButton Properties of
- Set up button Button initialization position
btn.frame = CGRectMake(100, 100, 100, 40);
- Set button content
Parameters 1: String type , Display button text
Parameters 2: Set the text status type :UIControlStateNormal The normal state
[btn setTitle:@" Button 1" forState:UIControlStateNormal];
- Display text status type
IControlStateHighlighted Press status
[btn setTitle:@" Button press status " forState:UIControlStateHighlighted]
- The background color
btn.backgroundColor = [UIColor grayColor];
- Set the text color
Parameters 1 Color
Parameters 2 state UIControlStateNormal The normal state
[btn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
- Press the status color
- Parameters 1 - Color
Parameters 2 - state UIControlStateHighlighted
[btn setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
- Set font size
btn.titleLabel.font = [UIFont systemFontOfSize:24];
Add to view screen display
[self.view addSubview:btn];
Without pictures UIButton effect

With pictures UIButton
- For normal applications We can't be buttons like this , Generally speaking, it is with pictures Button The buttons are pleasing to the eye Next, I'll show you how to create a picture Button
- The overall code
-(void) crateImageBtn {
// Create a custom type button
UIButton* btnImage = [UIButton buttonWithType:UIButtonTypeCustom];
btnImage.frame = CGRectMake(100, 200, 100, 100);
UIImage* icon01 = [UIImage imageNamed:@"btn01.jpeg"];
UIImage* icon02 = [UIImage imageNamed:@"btn02.jpeg"];
// How to set the button image
//p1 display Picture object
//p2 Control state
[btnImage setImage:icon01 forState:UIControlStateNormal];
[btnImage setImage:icon02 forState:UIControlStateHighlighted];
[self.view addSubview:btnImage];
}
With pictures Button Creation considerations and code interpretation
- Let's customize one first Button
- Our buttons should have two states Press and normal status
UIControlStateNormal Ordinary
UIControlStateHighlighted Press down
- The pictures corresponding to the two states are loaded - Picture name plus format
UIImage* icon01 = [UIImage imageNamed:@"btn01.jpeg"]; UIImage* icon02 = [UIImage imageNamed:@"btn02.jpeg"];
- How to set the button image
- Parameter one : Show picture objects
- Parameter two : Control state
[btnImage setImage:icon01 forState:UIControlStateNormal];
[btnImage setImage:icon02 forState:UIControlStateHighlighted];
effect
- Normal state

- Press status

UIButton Event handling
- The so-called event processing is to add the event we want to use when we press the button. When the user clicks the button, the event corresponding to the button will occur So as to achieve the function we want
- Add an event function to the button — One button can add multiple event functions
Multiple parameters of event processing
- Event handler
btn addTarget:(nullable id) action:(nonnull SEL) forControlEvents:(UIControlEvents)
First understand the meaning of parameters
1)
p1: Who will implement the event function , Who is the object of implementation a、
addTarget:self The implementer is himself
p2:@selector(pressBtn): Function object , When the button meets p3 When the event type , Call this function
p3:UIControlEvent: Event handler type
UIControlEventTouchUpOutside: When the finger leaves the screen and the position of the finger is outside the range of the button, the event function will be triggered
UIControlEventTouchDown: When our fingers just touch the screen
Implement event
-(void) createButton {
// Create fillets button
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(100, 100, 80, 40);
[btn setTitle:@" Button 1" forState:UIControlStateNormal];
[btn addTarget:self action:@selector(pressBtn:) forControlEvents:UIControlEventTouchUpInside];
//UIControlEventTouchUpInside: When the finger leaves the screen and the position of the finger is within the range of the button, the event function will be triggered
//2) Touch event function
[btn addTarget:self action:@selector(touchDown) forControlEvents:UIControlEventTouchDown];
[self.view addSubview:btn];
// The same function can be called by different buttons
UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn2.frame = CGRectMake(100, 100, 40, 80);
[btn2 setTitle:@" Button 2" forState:UIControlStateNormal];
[btn2 addTarget:self action:@selector(pressBtn:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn2];
// Set button tag -- I don't know the pointer of the button is written like this
btn.tag = 101;
btn2.tag = 102;
The function that the event needs to call ( One of the parameters )
// The parameter is the button itself that calls this function -- It is recommended to write like this
// Benefits are as follows
-(void) pressBtn:(UIButton*) btn {
if (btn.tag == 101) {
NSLog(@"btn1 pressed");
} else {
NSLog(@"btn2 pressed");
}
// NSLog(@"btn pressed");
effect

- Let's first click button one Then the button is touched – Print
- Click button 2 Then I was touched – Print
边栏推荐
- JVM quick start
- Intel distiller Toolkit - Quantitative implementation 1
- Esp8266-rtos IOT development
- LeetCode:236. 二叉树的最近公共祖先
- pytorch查看张量占用内存大小
- LeetCode:剑指 Offer 48. 最长不含重复字符的子字符串
- LeetCode:26. Remove duplicates from an ordered array
- LeetCode:221. Largest Square
- Implement window blocking on QWidget
- MongoDB 的安装和基本操作
猜你喜欢
随机推荐
SAP ui5 date type sap ui. model. type. Analysis of the parsing format of date
CSP first week of question brushing
自动化测试框架有什么作用?上海专业第三方软件测试公司安利
What are the common processes of software stress testing? Professional software test reports issued by companies to share
可变长参数
Unsupported operation exception
LeetCode:34. Find the first and last positions of elements in a sorted array
什么是MySQL?MySql的学习之路是怎样的
超高效!Swagger-Yapi的秘密
LeetCode:214. 最短回文串
Chapter 1 :Application of Artificial intelligence in Drug Design:Opportunity and Challenges
LeetCode:162. 寻找峰值
LeetCode:498. 对角线遍历
Current situation and trend of character animation
【嵌入式】使用JLINK RTT打印log
SimCLR:NLP中的对比学习
Advance Computer Network Review(1)——FatTree
MongoDB 的安装和基本操作
LeetCode:221. Largest Square
软件压力测试常见流程有哪些?专业出具软件测试报告公司分享


![[MySQL] limit implements paging](/img/94/2e84a3878e10636460aa0fe0adef67.jpg)





