Xcode UIView 中的Button 控件的属性和基本用法

  //第一种创建UIButton的方法

//initWhitFrame:

UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(110, 100, 100, 30)];

button.backgroundColor = [UIColor redColor];

button.titleLabel.font = [UIFont systemFontOfSize:19.0];//设置按钮的文字大小

button.contentHorizontalAlignment =UIControlContentHorizontalAlignmentLeft;//设置按钮文字的位置(默认为居中)

button.contentEdgeInsets = UIEdgeInsetsMake(0, 20, 0, 0);//字体靠左或右时与边缘的距离

[button setTitleColor:[UIColor yellowColor] forState:UIControlStateNormal];//设置按钮文字的颜色

[button setTitle:@"LYD" forState:UIControlStateNormal];

[self.window addSubview:button];

[button release];

  //第二种创建按钮的方法

//buttonWithType

UIButton *button1 = [UIButton buttonWithType:UIButtonTypeCustom];

button1.layer.cornerRadius = 10.0;

//UIButtonTypeInfoLight 微件(widget)使用的蓝色小圆圈信息按钮,可以放在任何文字旁边

//UIButtonTypeRoundedRect 圆角矩形

//UIButtonTypeInfoDark  白色背景下使用的深色圆圈信息按钮

//UIButtonTypeContactAdd 圆圈中一个加号的信息按钮

//UIButtonTypeDetailDisclosure 蓝色的披露按钮,可放在任何文字旁

CGRect RECT = CGRectMake(110, 100, 30, 30);

button1.frame = RECT;

/*//button1.selected = YES;

//button1.enabled = NO;

//设置标题,状态正常

[button1 setTitle:@"normal" forState:UIControlStateNormal];

//设置标题,状态高亮

[button1 setTitle:@"highlighted" forState:UIControlStateHighlighted];

//设置标题,状态禁用

[button1 setTitle:@"disabled" forState:UIControlStateDisabled];

//设置标题,状态选中

[button1 setTitle:@"selected" forState:UIControlStateSelected];*/

//设置背景图片

[button1 setBackgroundImage:[UIImage imageNamed:@"button_white"] forState:UIControlStateNormal];

[button1 setBackgroundImage:[UIImage imageNamed:@"button_red"] forState:UIControlStateSelected];

//设置图片

//    [button1 setImage:[UIImage imageNamed:@"button_white"] forState:UIControlStateNormal];

//    [button1 setImage:[UIImage imageNamed:@"button_red"] forState:UIControlStateSelected];

//添加事件

//用户控件之内触摸抬按下时

[button1 addTarget:self action:@selector(touchInSide:) forControlEvents:UIControlEventTouchUpInside];

//当用户按下的时候触发

//[button1 addTarget:self action:@selector(touchDown) forControlEvents:UIControlEventTouchDown];

//当用户在触摸控件后在控件之外拖拖动时

//[button1 addTarget:self action:@selector(dragOutside) forControlEvents:UIControlEventTouchDragOutside];

//     当用户在触摸控件后在控件之内拖拖动时

//[button1 addTarget:self action:@selector(dragInside) forControlEvents:UIControlEventTouchDragInside];

//用户控件之外触摸抬按下时

//[button1 addTarget:self action:@selector(outside) forControlEvents:UIControlEventTouchUpOutside];

//触摸控件往外拖时

[button1 addTarget:self action:@selector(dragExit) forControlEvents:UIControlEventTouchDragExit];

//触摸控件往内拖时

[button1 addTarget:self action:@selector(dragEnter) forControlEvents:UIControlEventTouchDragEnter];

//多次触摸控件时触发

[button1 addTarget:self action:@selector(repeat) forControlEvents:UIControlEventTouchDownRepeat];

button1.backgroundColor = [UIColor whiteColor];

button1.titleLabel.font = [UIFont systemFontOfSize:18.0];

[button1 setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

//button1.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;

//button1.contentEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);

self.window.backgroundColor = [UIColor purpleColor];

[self.window addSubview:button];

时间: 2024-10-19 20:20:41

Xcode UIView 中的Button 控件的属性和基本用法的相关文章

listView中的button控件获取索引

1.在listitem中初始化button的时候,给该button添加一个setTag方法,将此时的索引值传进去,然后在button的onclick事件中调用view的getTag方法,即可将listitem的索引读出来,代码如下: tagButton.setTag(position); 此处的tagButton就是定义的button,Position是view里边的位置. 2.初始化button的时候通过setTag方法传入一个item的索引值 private OnClickListener 

[原创]在Framelayout中放置button控件出现的覆盖问题

android Framelayout(帧布局)是很常用的布局,主要用来处理需要多个view叠加显示的情况. 然而在使用中,我发现Framelayout中的Button控件,会挡住所有其他控件,而不论位置和添加顺序如何,这个表现是不正常的,我本机有4.1和5.0两种模拟器,只有5.0有这个问题,因此怀疑是5.0的bug. 下面用一个例子说明: 想要的效果是这样的:   我选择使用Framelayout来实现,下面一个button,上面一个imageview即可,代码如下: 1 <FrameLay

listView中的button控件获取item的索引

在listview中的listitem设置事件响应,如果listitem中有button控件,这时候listitem就不会捕获到点击事件,而默认的是listitem中的button会捕获点击事件.那么如果点击listitem中的button怎么才能这个button是在哪一个item中呢,换句话说,就是点击listitem中的button怎么获取该listitem的索引?得到了这个索引的话,item里边的值就相对容易了. 通过如下方法可以实现: 1.在listitem中初始化button的时候,给

网络操作不能直接写在主线程中 以及 为什么不能在子线程中更新UI控件的属性

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ //注意: 所有网络操作不能直接写在主线程中 因为所有的网络操作都是耗时的,如果加载到主线程中,会导致与用户的交互出现问题 ,所以要加载到子线程中 // [self loadImage]; [self performSelectorInBackground:@selector(loadImage) withObject:nil]; } //加

Android中在Button控件上显示倒计时

public class CountdownTimerActivity extends Activity {private TimeCount time;private Button checking;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.la

【Android进阶】关于ListView中item与控件抢夺焦点的那些事

在开发中,listview可以说是我们使用最频繁的控件之一了,但是关于listview的各种问题也是很多.当我们使用自定义布局的Listview的时候,如果在item的布局文件里面存在Button或者是CheckBox等控件以及其子类控件的时候,经常会碰到各种控件的点击事件冲突的情况,那么我们如何来处理Listview中这种控件之间焦点冲突的情况呢? 我们以item存在一个Button控件为例 首先,加入我们不设置任何关于焦点的属性,比如focus等,代码如下 @Override public

Android关于ListView中item与控件抢夺焦点的那些事

在开发中,listview可以说是我们使用最频繁的控件之一了,但是关于listview的各种问题也是很多.当我们使用自定义布局的Listview的时候,如果在item的布局文件里面存在Button或者是CheckBox等控件以及其子类控件的时候,经常会碰到各种控件的点击事件冲突的情况,那么我们如何来处理Listview中这种控件之间焦点冲突的情况呢? 我们以item存在一个Button控件为例 首先,加入我们不设置任何关于焦点的属性,比如focus等,代码如下 view sourceprint?

WPF 中动态改变控件模板

在某些项目中,可能需要动态的改变控件的模板,例如软件中可以选择不同的主题,在不同的主题下软件界面.控件的样式都会有所不同,这时即可通过改变控件模板的方式实现期望的功能. 基本方法是当用户点击切换主题按钮是加载新的资源字典,并使用新加载的资源字典替代当前的资源字典这时要用到ResourceManager. 假设现有两个不同的资源字典文件Dictionary1.xaml和Dictionary2.xaml存在于Themes文件夹内: 在MainPage中使用其中一个资源字典作为默认样式文件: <Win

Button控件

从最简单的开始写起: 首先先从工具性中拖入一个Button控件,然后可以在其属性面板之中更改其自身的属性. 当然也可用直接在代码编辑界面进行直接的编辑添加,如果有什么属性不清楚,可在属性面板中查看一下,然后可以用代码直接编写,和在属性面板中更改的是一样的. 之后可以编辑控件的事件了,其中Button有Click事件和Command事件,在这里就只写Click事件. 代码: 1 <asp:Button ID="Button1" runat="server" Te