繁体   English   中英

更改图像Alpha

[英]Changing image alpha

在我的应用程序中,我试图在输入字段中将其选中,填充或留空时更改图标(图像视图)的Alpha值。

我已经编写了这段代码,但是没有任何反应,我确定我写的图像名称是在图像目录中命名的。

样例代码;

- (IBAction)passwordInputTab:(id)sender {

    UIImageView *imageLockIcon = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"lock-icon.png"]];
    imageLockIcon.alpha = 1;
    //self.txtPassword.alpha = 1;

    if ([[self.txtUsername text] isEqualToString:@""]) {
        //self.txtUsername.alpha = 0.5;
        UIImageView *imageUserIcon = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"user-icon.png"]];
        imageUserIcon.alpha = 0.5;
    }
}

- (IBAction)usernameInputTab:(id)sender {

    UIImageView *imageUserIcon = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"user-icon.png"]];
    imageUserIcon.alpha = 1;

    NSLog(@"==> %@", imageUserIcon);

    //userIcon.alpha = 0.1;

    if ([[self.txtPassword text] isEqualToString:@""]) {

        UIImageView *imageLockIcon = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"lock-icon.png"]];
        imageLockIcon.alpha = 0.5;
        NSLog(@"==> %@", imageLockIcon);
        //self.txtPassword.alpha = 0.5;
    }
}

登录;

2014-09-18 21:47:10.882 ...[1280:60b] ==> <UIImageView: 0x14e8dd90; frame = (0 0; 17 16); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x14e8de10>>
2014-09-18 21:47:10.884 ...[1280:60b] ==> <UIImageView: 0x14d66770; frame = (0 0; 12 16); alpha = 0.5; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x14da43d0>>

您正在创建新的UIImageView,如果您是在InterfaceBuilder中创建的,则需要为每个UIImageView创建一个@property ,并在情节提要/ xib上链接IBOutlet。

如果要以编程方式创建UIImageViews,则只是忘记添加:

[self.view addSubview:YOUR_IMAGEVIEW];

例:

[self.view addSubview:imageUserIcon];

我看到您正在创建UIImageView,但尚未将其添加到视图层次结构中。 如果要更改现有UIImageView的Alpha,则需要通过IBOutlet提供对其的引用以调整其属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM