为了账号安全,请及时绑定邮箱和手机立即绑定

如何以编程方式创建基本UIButton?

如何以编程方式创建基本UIButton?

POPMUISE 2019-07-12 16:13:42
如何以编程方式创建基本UIButton?我如何创建一个基本的UIButton以编程的方式?例如,在我的视图控制器中,当执行viewDidLoad方法三UIButtonS将动态创建,并设置其布局或属性。
查看完整描述

3 回答

?
米脂

TA贡献1836条经验 获得超3个赞

这里有一个:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];[button addTarget:self 
           action:@selector(aMethod:)
 forControlEvents:UIControlEventTouchUpInside];[button setTitle:@"Show View" forState:UIControlStateNormal];
 button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);[view addSubview:button];


查看完整回答
反对 回复 2019-07-12
?
九州编程

TA贡献1785条经验 获得超4个赞

- (void)viewDidLoad {
    [super viewDidLoad];
    [self addMyButton];   // Call add button method on view load}- (void)addMyButton{    
    // Method for creating button, with background image and other properties

    UIButton *playButton = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
    playButton.frame = CGRectMake(110.0, 360.0, 100.0, 30.0);
    [playButton setTitle:@"Play" forState:UIControlStateNormal];
    playButton.backgroundColor = [UIColor clearColor];
    [playButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal ];
    UIImage *buttonImageNormal = [UIImage imageNamed:@"blueButton.png"];
    UIImage *strechableButtonImageNormal = [buttonImageNormal stretchableImageWithLeftCapWidth:12 topCapHeight:0];
    [playButton setBackgroundImage:strechableButtonImageNormal forState:UIControlStateNormal];
    UIImage *buttonImagePressed = [UIImage imageNamed:@"whiteButton.png"];
    UIImage *strechableButtonImagePressed = [buttonImagePressed stretchableImageWithLeftCapWidth:12 topCapHeight:0];
    [playButton setBackgroundImage:strechableButtonImagePressed forState:UIControlStateHighlighted];
    [playButton addTarget:self action:@selector(playAction:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:playButton];  }


查看完整回答
反对 回复 2019-07-12
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

目标-C

UIButton *but= [UIButton buttonWithType:UIButtonTypeRoundedRect];[but addTarget:self action:@selector(buttonClicked:)
 forControlEvents:UIControlEventTouchUpInside];
 [but setFrame:CGRectMake(52, 252, 215, 40)];[but setTitle:@"Login" forState:UIControlStateNormal];[but setExclusiveTouch:YES];

 // if you like to add backgroundImage else no need
   [but setbackgroundImage:[UIImage imageNamed:@"XXX.png"] forState:UIControlStateNormal];[self.view addSubview:but];-(void) 
   buttonClicked:(UIButton*)sender {NSLog(@"you clicked on button %@", sender.tag);
 }

斯威夫特

    let myButton = UIButton() // if you want to set the type use like UIButton(type: .RoundedRect) or UIButton(type: .Custom)
    myButton.setTitle("Hai Touch Me", forState: .Normal)
    myButton.setTitleColor(UIColor.blueColor(), forState: .Normal)
    myButton.frame = CGRectMake(15, 50, 300, 500)
    myButton.addTarget(self, action: "pressedAction:", forControlEvents: .TouchUpInside)

    self.view.addSubview( myButton)func pressedAction(sender: UIButton!) {
   // do your stuff here 
  NSLog("you clicked on button %@", sender.tag)}

SWIFT 3及以上

  let myButton = UIButton() // if you want to set the type use like UIButton(type: .RoundedRect) or UIButton(type: .Custom)
    myButton.setTitle("Hi, Click me", for: .normal)
    myButton.setTitleColor(UIColor.blue, for: .normal)
    myButton.frame = CGRect(x: 15, y: 50, width: 300, height: 500)

    myButton.addTarget(self, action: #selector(pressedAction(_:)), for: .touchUpInside)
    self.view.addSubview( myButton)func pressedAction(_ sender: UIButton) {
   // do your stuff here 
  print("you clicked on button \(sender.tag)")}

斯威夫特

例如,从SWIFUIDeveloper门户

import SwiftUIstruct ContentView : View {
    var body: some View {
        VStack {

            Text("Target Color Black")
             Button(action: { 
                 /* handle button action here */ })
            {
         Text("your Button Name")
          .color(.white)
                        .padding(10)
                        .background(Color.blue)
                        .cornerRadius(5)
                        .shadow(radius: 5)
                        .clipShape(RoundedRectangle(cornerRadius: 5))
     }


        }
    }}#if DEBUGstruct ContentView_Previews : PreviewProvider {
    static var previews: some View {
        ContentView()
    }}#endif


查看完整回答
反对 回复 2019-07-12
  • 3 回答
  • 0 关注
  • 572 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信