在Class2
你做的时候
Class1 *class = [[Class1 alloc]init];
这会创建一个新实例,Class1
然后您设置它的 alpha(然后根据您的 ARC 设置,这个新实例会被破坏或泄漏)。这不是您想要的,因为您已经拥有Class1
应该更改的现有实例。这意味着您需要对实例的引用(指针)。
创建Class2
实例时,应为其提供对Class1
实例的引用。Class2
应该有一个属性来存储引用。
所以在你的ViewController
课堂上你应该实现prepareForSegue:sender:
. ProvaViewController
这将为您提供(via segue.destinationViewController
)的新实例。您需要将该属性添加到ProvaViewController
( @property (strong, nonatomic) ViewController *viewController;
),然后使用该属性更改 alpha ( [self.viewController Trasparenza:0];
)。
虽然...您的“返回”按钮似乎确实以模态方式推动了一个新的视图控制器,而不是实际返回(关闭当前视图,因为它也以模态方式呈现)。所以你真的需要考虑你的视图控制器结构,因为它目前有点疯狂......
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:...]) {
[(ProvaViewController *)segue.destinationViewController setViewController:self];
}
}
在此处阅读指南,尤其是“将数据发送到细节场景”部分。