小米明年会有搭载屏内小米8屏下指纹识别别技术的手机,小米7是吗

所有的UI控件最终都继承自UIView,UI控件的公共属性都定义在UIView中,&UIView的常见属性&&UIView *  获得自己的父控件对象NSArray *  获得自己的所有子控件对象NSI  控件的ID(标识),父控件可以通过tag来找到对应的子控件CGAffineT  控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)CGR  控件所在矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)CGR  控件所在矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x、y一般为0)CGP  控件中点的位置(以父控件的左上角为坐标原点)&常用的Button状态&normal(普通状态)默认情况(Default)对应的枚举常量:UIControlStateNormal&highlighted(高亮状态)按钮被按下去的时候(手指还未松开)对应的枚举常量:UIControlStateHighlighted&disabled(失效状态,不可用状态)如果enabled属性为NO,就是处于disable状态,代表按钮不可以被点击对应的枚举常量:UIControlStateDisabled&不同状态,可以设置Button不同的属性(颜色,文字,背景图片等)&修改控件位置&通过修改控件的frame属性就可以修改控件在屏幕上的位置和尺寸&通过以下属性可以修改控件的位置frame.origincenter&通过frame.sizebounds.size属性可以修改控件的尺寸&// 比如点击&向上&按钮,让按钮的y值减小即可- (IBAction)top:(UIButton *)sender {
CGRect btnFrame = self.headBtn.
btnFrame.origin.y -= 10;
self.headBtn.frame = btnF}// 下面代码是错误的,OC语法规定:不允许直接修改对象的结构体属性的成员self.headBtn.frame.origin.y -= 10;&通过属性可以修改控件的位置、尺寸不需要计算形变之后的结果&代码添加控件// 创建一个自定义的按钮UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];// 默认状态的背景[btn setBackgroundImage:[UIImage imageNamed:@"btn_01"] forState:UIControlStateNormal];// 默认状态的文字[btn setTitle:@"点我啊" forState:UIControlStateNormal];// 默认状态的文字颜色(有哪些颜色可以直接点UIColor头文件查看)[btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; 例如:&// 视图加载完成调用的方法,通常视图控制器的初始化工作,在此执行!// 一定不要忘记调用父类的实现方法- (void)viewDidLoad // 此方法是继承自父类的方法{
[super viewDidLoad];
  // 创建按钮控件
UIButton *btn = [[UIButton alloc] init];
 // 设置控件的位置   btn.frame = CGRectMake(20, 20, 100, 100); // btn.backgroundColor = [UIColor redColor];
// 设置控件的文字   [btn setTitle:@"按钮" forState:UIControlStateNormal];
// 设置控件文字的颜色
  [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
UIImage *image = [UIImage imageNamed:@"btn_01"];
[btn setBackgroundImage:image forState:UIControlStateNormal];
[btn setTitle:@"点我" forState:UIControlStateNormal];  // 设置按钮控件在普通状态下的字体颜色
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
// 设置按钮空间在高粱状态下的背景图片
[btn setBackgroundImage:[UIImage imageNamed:@"btn_02"] forState:UIControlStateHighlighted];
  // 将设置好的按钮空间添加到当前view中   [self.view addSubview:btn];
// 按钮的监听方法
[btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
  // 将.h中声明的属性headImageView与btn相关联
self.headImageView =}&  &修改大小。角度&
// MakeTranslation是基于对象初始位置做的形变//
self.delta -= 20;//
NSLog(@"%d", self.delta);//
self.headImageView.transform = CGAffineTransformMakeTranslation(0, self.delta);
// Translate是基于transform参数做的形变,实际效果就是一个累加的位移效果
self.headImageView.transform = CGAffineTransformTranslate(self.headImageView.transform, 0, -20);
self.headImageView.transform = CGAffineTransformScale(self.headImageView.transform, 2.0, 1.0); // 在OC中,所有跟角度相关的数值,都是弧度值,180& = M_PI
// 正数表示顺时针旋转
// 负数表示逆时针旋转
self.headImageView.transform = CGAffineTransformRotate(self.headImageView.transform, -M_PI_4);&  &&
最新教程周点击榜
微信扫一扫主题 : 在storyboard对控件用了约束,怎样在代码中重新设置控件的frame?
级别: 侠客
UID: 462695
可可豆: 203 CB
威望: 182 点
在线时间: 237(时)
发自: Web Page
来源于&&分类
在storyboard对控件用了约束,怎样在代码中重新设置控件的frame?&&&
如题~求各位大神指点~~
级别: 侠客
UID: 481396
可可豆: 104 CB
威望: 93 点
在线时间: 161(时)
发自: Web Page
更新约束即可[self setNeedsUpdateConstraints];[self setNeedsLayout];[self layoutIfNeeded];
级别: 侠客
UID: 462695
可可豆: 203 CB
威望: 182 点
在线时间: 237(时)
发自: Web Page
回 1楼(萨斯辈的呼唤) 的帖子
意思是我还要在代码那里对控件重新进行约束?
级别: 侠客
UID: 481396
可可豆: 104 CB
威望: 93 点
在线时间: 161(时)
发自: Web Page
回 2楼(doublejj) 的帖子
首先你要确定当前操作是否需要更新,不需要就不写,需要就写喽
级别: 骑士
UID: 437920
可可豆: 1078 CB
威望: 902 点
在线时间: 527(时)
发自: Web Page
约束像托控件一个拖出来,然后需要修改的时候修改就好了。
级别: 侠客
UID: 462695
可可豆: 203 CB
威望: 182 点
在线时间: 237(时)
发自: Web Page
回 4楼(zmdRobert) 的帖子
但是一个控件的约束改变,也影响了其他控件的约束,感觉要改的话几乎所有控件的约束都要改了啊
级别: 骑士
UID: 441934
可可豆: 3305 CB
威望: 2013 点
在线时间: 618(时)
发自: Web Page
4楼正解,拖出来不就行了吗
级别: 新手上路
UID: 474935
可可豆: 94 CB
威望: 89 点
在线时间: 152(时)
发自: Web Page
回 5楼(doublejj) 的帖子
请问, 怎么修改一个storyBoard上控件的Y的约束.我在updateViewContraints方法里面修改&&打印的Y的值改变了,可是在UI界面上显示还是没有改变.求助~
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版[iOS] 可视化编程 Tips 之 “如何使用 StoryBoard 初始化 UI 控件并通过代码调用” - 推酷
[iOS] 可视化编程 Tips 之 “如何使用 StoryBoard 初始化 UI 控件并通过代码调用”
用过 StoryBoard 的同学一定非常享受往页面上拖控件,再拖几个约束就搞定一个 UI 元素的过程,但是在某些情况下,我们还是不得不使用代码来进行控件初始化和 frame 设置,这时候如果你懒得写那 N 行的初始化代码,你一定会想“要是能在 StoryBoard 中初始化控件,再用代码调用就好了”,这事完全可行的,详细使用方法如下:
1. 拖动一个控件到目标 ViewController 的文档树中
这时候 ViewController 看起来是这样的:
2. 绑定到成员变量
import UIKitclass ViewController: UIViewController {
@IBOutlet var segmentControl: UISegmentedControl!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
我们将使用这个 segment control 作为顶栏的标题元素,即把它放到标题的位置:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.titleView = self.segmentControl}
4. One more thing
需要注意另外一种情况:如果这个视图已经是 ViewController 文档树的一部分,那么当我们想把它从文档树里抽出来单独放到其他地方时,会出现位置异常:
运行结果却是:
frame 设置失效了?确实失效了,不过设置一下属性就可以让 frame 设置重新有效:
self.label.removeFromSuperview()self.label.translatesAutoresizingMaskIntoConstraints = true // 就是我self.label.center = self.view.centerself.view.addSubview(label)
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致iOS- &项目笔记&UI控件常见属性总结 - Thunderfox - ITeye技术网站
博客分类:
1.UIView                            
// 如果userInteractionEnabled=NO,不能跟用户交互
@property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionE
// 控件的标记(父控件通过标记可以找到对应的子控件)
@property(nonatomic) NSI
// 控件的位置和尺寸(以父控件的左上角为坐标原点)
@property(nonatomic) CGR
// 控件的位置和尺寸(以控件本身的左上角为坐标原点)
@property(nonatomic) CGRe
// 控件的中点位置(以父控件的左上角为坐标原点)
@property(nonatomic) CGPo
// 形变属性:旋转、缩放、平移
@property(nonatomic) CGAffineT
@property(nonatomic,readonly) UIView
// 所有的子控件
@property(nonatomic,readonly,copy) NSArray *
2.UILabel                               
// 显示的文字
@property(nonatomic,copy)
@property(nonatomic,retain) UIFont
// 文字颜色
@property(nonatomic,retain) UIColor
// 文字的排列方式(左对齐、居中、右对齐)
@property(nonatomic)
NSTextAlignment
// 设置行数(行数==0代表自动换行)
@property(nonatomic) NSInteger numberOfL
3.UIImageView                          
// 显示的图片
@property(nonatomic,retain) UIImage *
// 设置序列帧图片数组(按顺序播放animationImages数组中的图片)
@property(nonatomic,copy) NSArray *animationI
// 序列帧动画的持续时间
@property(nonatomic) NSTimeInterval animationD
// 序列帧动画的执行字数(默认是0,代表无限循环)
@property(nonatomic) NSInteger
animationRepeatC
4.UIScrollView                          
// 表示UIScrollView所滚动的位置
@property(nonatomic) CGPoint contentO
// 表示UIScrollView的内容尺寸(能滚动的范围)
@property(nonatomic)
// 增加UIScrollView额外的边缘滚动区域
@property(nonatomic)
UIEdgeInsets
@property(nonatomic,assign) id&UIScrollViewDelegate&
5.UITableView                             
(前几篇博客已经有很详细的属性介绍及使用) 需要查看的可以参考前几篇博客。
6.UIPickerView                            
(前几篇博客已经有很详细的属性介绍及使用) 需要查看的可以参考前几篇博客。
7.UIControl                              
// 是否可用
@property(nonatomic,getter=isEnabled) BOOL
// 自动拥有很多种状态
// 可以通过下面的方法来监听控件内部的一些事件:点击、值改变
- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlE
1& UIDatePicker                              
// 设置模式(类型)
@property(nonatomic) UIDatePickerMode datePickerM
// 设置区域(zh_CN代表天朝)
@property(nonatomic,retain) NSLocale
// 设置当前时间
@property(nonatomic,retain) NSDate
// UIDatePicker内部显示的日期更改了,就会触发值改变事件
2& UISwitch                              
// 控制开关状态
@property(nonatomic,getter=isOn) BOOL
- (void)setOn:(BOOL)on animated:(BOOL)
// UISwitch内部开关状态更改了,就会触发值改变事件
3& UISegmentControl                        
// 一共有多少块区域
@property(nonatomic,readonly) NSUInteger numberOfS
// 当前选中区域的位置
@property(nonatomic) NSInteger selectedSegmentI
// UISegmentControl内部选中的区域更改了,就会触发值改变事件
4& UISlider                              
// 设置当前的进度值
@property(nonatomic) float
// 设置最小的进度值
@property(nonatomic) float minimumV
// 设置最大的进度值
@property(nonatomic) float maximumV
// UISlider内部的进度值更改了,就会触发值改变事件
5& UIButton                              
// 快速创建一个按钮
+ (id)buttonWithType:(UIButtonType)buttonT
// 设置按钮的内边距
@property(nonatomic) UIEdgeInsets contentEdgeI
// 按钮内部的标签控件
@property(nonatomic,readonly,retain) UILabel
// 按钮内部的图片控件
@property(nonatomic,readonly,retain) UIImageView *imageV
// 设置内部titleLabel显示的文字
- (void)setTitle:(NSString *)title forState:(UIControlState)
// 设置内部titleLabel的文字颜色
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)
// 设置内部imageView显示的图片
- (void)setImage:(UIImage *)image forState:(UIControlState)
// 设置背景图片
- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)
- (NSString *)titleForState:(UIControlState)
- (UIColor *)titleColorForState:(UIControlState)
- (UIImage *)imageForState:(UIControlState)
- (UIImage *)backgroundImageForState:(UIControlState)
6& UITextField(通过delegate监听内部的事件)            
8.UIAlertView                            
// 创建一个UIAlertView对话框
title : 对话框标题
message : 对话框中间显示的文字内容
cancelButtonTitle : 取消按钮的文字
otherButtonTitles : 其他按钮的文字(设置多个)
delegate : 用来监听alertView上面按钮的点击
- (id)initWithTitle:(NSString *)title message:(NSString *)message delegate:(id /*&UIAlertViewDelegate&*/)delegate cancelButtonTitle:(NSString *)cancelButtonTitle otherButtonTitles:(NSString *)otherButtonTitles, ... NS_REQUIRES_NIL_TERMINATION;
相关知识库:
浏览: 86646 次

我要回帖

更多关于 小米8屏下指纹识别 的文章

 

随机推荐