나는 IOS 프로그래밍의 초보자이므로 아래 문제로 조금 어려움을 겪고 있습니다. 문제를 설명하기 위해 최선을 다할 것이며 모든 도움을 주시면 감사하겠습니다.Xcode에서 한 클래스의 변수를 다른 클래스에서 액세스하거나 조작하는 방법
나는이 만들어 다음과 같습니다
- AboutViewController (.H,하는 .m 및 .xib)라는 두 개의 파단이있는 - MAINVIEW, InfoView를합니다. mainView 및 infoView 인터페이스는 XIB 파일에 작성됩니다. 다음과 같이
@interface TestView : UIView { IBOutlet UIView *mainView; IBOutlet UIView *infoView; UILabel *lbltitle; UIImageView *imgIcon; IBOutlet UITextView *txtInfo1; IBOutlet UITextView *txtInfo2; IBOutlet UITextView *txtInfo3; } @property (nonatomic, retain) IBOutlet UILabel *lbltitle; @property (nonatomic, retain) IBOutlet UIImageView *imgIcon;
TestView.m은 다음과 같습니다 :
- 그리고 TestView는 다음과 같이
TestView.h은 (보기 MAINVIEW 및 InfoView의 간을 전환, 시작에 대처하기 위해)
#import "TestView.h"
#import <QuartzCore/QuartzCore.h>
@implementation TestView
@synthesize lbltitle, imgIcon;
-(void)awakeFromNib
{
[self addSubview:mainView];
}
세로 모드에서는보기가 잘 작동하지만 가로 모드에서는보기가 모두 좀 망 쳤어. 나는 XIB를 사용하려고 노력했지만 당신이 그렇게 많이 할 수 있기 때문에 이것을 프로그래밍 방식으로 결정했다.
AboutViewController.m에서 willAnimateRotationToInterfaceOrientation 메서드를 재정의하고 방향을 기반으로 개체를 배치하려고합니다. 중단 점을 넣으면 코드가 UI로 변환되지 않는다는 것, 즉 UI가 변경되지 않는다는 것을 제외하고는 코드가 호출되는 것을 볼 수 있습니다. 내가 도대체 뭘 잘못하고있는 겁니까 ? 내가 다른 방식으로 접근해야 하는가? 어떤 제안이나 안내도 크게 환영합니다.
- (void)willAnimateRotationToInterfaceOrientation: (UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
TestView *t = [[TestView alloc]init];
if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)
{
[t.imgIcon setFrame:CGRectMake(10,74,165,190)];
[t.lbltitle setFrame:CGRectMake(20, 10, 387, 21)];
}
else
{
[t.imgIcon setFrame:CGRectMake(10,74,165,190)];
[t.lbltitle setFrame:CGRectMake(189, 10, 387, 21)];
}
}
확인; 여기에 내가 달성하려고 노력하고있다, 제발 나를 뭐라구 최선의 방법으로 그것을 안내하십시오. 나는 탭뷰를 가지고 있으며, 각 탭에는 자체 xib 파일이 있습니다. 탭 중 하나에서 일련의 사진을 보여주고 싶습니다. 사진을 클릭하면보기를 클릭 한 사진에 대한 세부 정보와 함께 다른 사진으로 전환하고 싶습니다. –
그리고 '여기'는 정확히 어디에서 의미합니까? –
나는 "return"을 너무 빨리 쳤다. 의견을 수정했습니다. 다른 모습을보실 수 있습니까? –