好的,我把它送到了CodeSign(事实证明,您不需要看到代码符号并嵌入。在查看有关这些警告的所有其他帖子后,我找不到问题...

在Welcome_backview.h中:

 @interface Welcome_backView : UIView {
Welcome_backViewController *refParentViewController;

}


- (id)initWithParentViewController:(Welcome_backViewController *)parent;
- (void)setSubviewsToLandscape;
- (void)setSubviewsToPortrait;

在Welcome_back.m中,

  #import "Welcome_backView.h"
  #import "Welcome_backViewController.h"
  @interface Welcome_backView()
//

@end

@implementation Welcome_backView



 - (void)setSubviewsToPortrait{
//do great things
 }

 - (void)setSubviewsToLandscape{
    //do more great things
 }

然后,这是从welcome_backviewcontroller.m:

#import "Welcome_backViewController.h"
#import "Welcome_backView.h"

@interface Welcome_backViewController()
-(void) arrangeViews;
@end

@implementation Welcome_backViewController

UIView *welcome_backView;

 - (id)init {

welcome_backView = [[Welcome_backView alloc] initWithParentViewController:self];
    self.view = welcome_backView;
}

-(void) arrangeViews {
//if one thing
    [welcome_backView setSubviewsToPortrait];
//if another thing
    [welcome_backView setSubviewsToLandscape];
}

而且,像许多海报一样,我收到警告“ Uiview”可能不会回应“ -setsubviewstolandscape”(并肖像...相同的警告)。我尝试了所有通常的嫌疑人 - 方法的拼写错误,使用类而不是实例,而不是导入标题或忘记将方法声明放入标题中。

事实是,该代码似乎正常...

谁能看到我做错了什么(我可以摆脱警告)吗?

有帮助吗?

解决方案

警告说“ Uiview可能无法做出响应...”,因为您已将Welcome_backview Ivar宣布为Uiview而不是您的子类。

Uiview没有Methods setsubViewStoxxx-您的子类。

更改此:

UIView *welcome_backView;

为此:

Welcome_backView *welcome_backView;

即使在称为UIVIEW的情况下,它也起作用,因为在运行时,IVAR确实指向Wincul_backView的实例,该实例对SetSubViewStoxxx方法响应。

尚未引起问题的另一件事是方法的名称。以“设置”开头的方法名称通常用于属性设置器方法,以后可能引起混乱。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top