我的IB中有一个tableview。我正在尝试使用以下代码更改awakefromnib中IB中的表视图的位置。
[[[_menuTableView superview] superview] setFrame:NSMakeRect(0, 0, 234, 1000)];
[[_menuTableView superview] setFrame:NSMakeRect(0, 0, 234, 1000)];
[_menuTableView setFrame:NSMakeRect(0, 0, 234, 1000)];
我已经写了这三行,因为我必须改变所有视图的位置(Scrollview,clipview和tableview。)
问题是即使在执行上述行之后,tableview位置也没有改变。 怎么做到这一点?
代码
#import "AppDelegate.h"
@implementation AppDelegate
@synthesize searchField;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
}
-(id)init
{
self = [super init];
if (nil!= self)
{
_arrayContents= [[NSMutableArray alloc] initWithObjects:@"a",@"as",@"sd",@"dfg",@"fh",@"sdf",@"ret",@"sdf",@"dsfxc",@"awert",@"xsdfcvg", nil];
_searchedArrayContents = [NSMutableArray arrayWithCapacity:[_arrayContents count]];
_menuArray = [[NSMutableArray alloc] initWithObjects:@"123",@"1231234",@"235435",@"5345345", nil];
}
return self;
}
-(void)awakeFromNib
{
// [_menuTableView setHidden:YES];
// [[[_menuTableView superview] superview] setHidden:YES];
[[[_menuTableView superview] superview] setFrame:NSMakeRect(100, 0, 234, 1000)];
[[_menuTableView superview] setFrame:NSMakeRect(0, 0, 234, 1000)];
[_menuTableView setFrame:NSMakeRect(0, 0, 234, 1000)];
}
- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
{
if (aTableView==_menuTableView)
{
return [_menuArray count];
}
if ([[searchField stringValue] length]>0 || [[_tokenField stringValue] length]>0 || [[_textField stringValue] length]>0)
{
return [_searchedArrayContents count];
}
if (aTableView==_tableView)
{
return [_arrayContents count];
}
return 0;
}
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
{
if (aTableView==_menuTableView)
{
return [_menuArray objectAtIndex:rowIndex];
}
if ([[searchField stringValue] length]>0 || [[_tokenField stringValue] length]>0)
{
return [_searchedArrayContents objectAtIndex:rowIndex];
}
if (aTableView==_tableView)
{
return [_arrayContents objectAtIndex:rowIndex] ;
}
return nil;
}