代码之家  ›  专栏  ›  技术社区  ›  sadmicrowave

Objective-C更改自定义图像视图对象的宽度

  •  1
  • sadmicrowave  · 技术社区  · 14 年前

    我的主视图上有3个按钮,分别是btn_easy、btn_medium和btn_hard,我想更改两个名为racquet_green和racquet_yellow的自定义图像视图对象的宽度。

    我必须在单击按钮时开始执行该方法的代码是:

       -(IBAction)buttonPressed:(id)sender{
          UIButton *button = (UIButton*)sender;
        if([button.titleLabel.text isEqualToString:@"easy"]){
            NSLog(@"easy clicked");
                //change width of racquet_green and racquet_yellow to 100px
          }
          if([button.titleLabel.text isEqualToString:@"medium"]){
            NSLog(@"medium clicked");
                //change width of racquet_green and racquet_yellow to 60px
          }
          if([button.titleLabel.text isEqualToString:@"hard"]){
            NSLog(@"hard clicked");
               //change width of racquet_green and racquet_yellow to 40px
          }
       }
    

    有人能帮我弄清楚如何更改这些自定义视图对象的宽度吗?

    谢谢

    2 回复  |  直到 14 年前
        1
  •  1
  •   JustSid    14 年前
    rect = CGRectMake(0, 0, PixelsX, PixelsY);
    [myView setFrame:rect];
    
        2
  •  1
  •   sadmicrowave    14 年前
       [racquet_yellow setFrame:CGRectMake(0,0,35,5)];
       [racquet_green setFrame:CGRectMake(0,0,35,5)];
    

    工作得很好,但等一下-我还想使桨集中在视图的顶部和底部。我是通过在上面发布的行下面添加2行来实现的。

    [racquet_yellow setFrame:CGRectMake(((self.view.bounds.size.width/2)-(racquet_yellow.bounds.size.width/2)),self.view.bounds.size.height-20,50,5)];
    [racquet_green setFrame:CGRectMake(((self.view.bounds.size.width/2)-(racquet_green.bounds.size.width/2)),15,50,5)]; 
    

    我必须用4条线而不是2条线来做这个,因为如果我在设置桨的宽度之前设置了x,y的位置,那么x,y的位置会稍微偏离。所以,我们首先设置宽度,高度,然后x,y保持宽度和高度,因为我们不想把它设置回0,0。

    推荐文章