ipad开发(显示图片和文字)

创建一个继承于UITableViewController的控制器和继承于UIViewController(绑定xib)的控制器

ipad开发(显示图片和文字)_第1张图片

@class DetailViewController,RootTableViewController;@interface AppDelegate : UIResponder@property (strong, nonatomic) UIWindow *window;

//详情界面

@property(nonatomic,strong)DetailViewController *detailVC;

//左侧边栏的表格界面

@property(nonatomic,strong)RootTableViewController *rootVC;

//边栏控制器(自动添加了手势 自动弹回功能)

@property(nonatomic,strong)UISplitViewController *spiltVC;

___________________________________________________________________________________________

#import "AppDelegate.h"

#import "RootTableViewController.h"

#import "DetailViewController.h"

@interface AppDelegate ()

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Override point for customization after application launch.

self.rootVC = [[RootTableViewController alloc] initWithStyle:UITableViewStylePlain];

self.rootVC.navigationItem.title = @"导航视图";

UINavigationController *rootNav = [[UINavigationController alloc] initWithRootViewController:self.rootVC];

self.detailVC = [[DetailViewController alloc] init];

self.detailVC.navigationItem.title = @"详情视图";

UINavigationController *detailNav = [[UINavigationController alloc] initWithRootViewController:self.detailVC];

// 使用iPad专用控件实现分栏效果

self.spiltVC = [[UISplitViewController alloc] init];

//设置分栏试图 先后顺序决定了左右关系

self.spiltVC.viewControllers = @[rootNav,detailNav];

self.spiltVC.delegate = self.detailVC;

// 设置为窗口的跟视图控制器

self.window.rootViewController = self.spiltVC;

return YES;

}

_________________________________________________________________________________________

RootTableViewController.m

#import "RootTableViewController.h"

#import "AppDelegate.h"

#import "DetailViewController.h"

@interface RootTableViewController ()

// 图片名称数组

@property(nonatomic,strong)NSArray *imgTitleArr;

// 图片数组

@property(nonatomic,strong)NSArray *imgArr;

@end

@implementation RootTableViewController

- (void)viewDidLoad {

[super viewDidLoad];

self.imgTitleArr = @[@"图片1",@"图片2",@"图片3",@"图片4",@"图片5",@"图片6",@"图片4"];

//通过循环 将图片数组初始化

NSMutableArray *arr = [[NSMutableArray alloc] init];

for (int i = 1; i <= 7 ; i++) {

NSString *imgName = [NSString stringWithFormat:@"car%d.jpg",i];

UIImage *img = [UIImage imageNamed:imgName];

[arr addObject:img];

}

//

self.imgArr = [arr copy];

}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

return 1;

}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

return self.imgArr.count;

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *identifier = @"cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];

if (cell == nil) {

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:identifier];

}

cell.textLabel.text = self.imgTitleArr[indexPath.row];

;

return cell;

}

_________________________________________________________________________________________

拖拽xib


ipad开发(显示图片和文字)_第2张图片

DetailViewController.m

#import "DetailViewController.h"#import "AppDelegate.h"#import "RootTableViewController.h"@interface DetailViewController ()@end

@implementation DetailViewController

- (void)viewDidLoad {

[super viewDidLoad];

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"主菜单" style:UIBarButtonItemStylePlain target:self action:@selector(showPopOverController:)];

AppDelegate *app = [UIApplication sharedApplication].delegate;

app.spiltVC.displayModeButtonItem.title = @"显示导航栏";

self.navigationItem.leftBarButtonItem =  app.spiltVC.displayModeButtonItem;

}

//回调方法

-(void)showPopOverController:(UIBarButtonItem *)sender

{

//  AppDelegate *app = [UIApplication sharedApplication].delegate;

RootTableViewController *rootVC = [[RootTableViewController alloc] initWithStyle:UITableViewStylePlain];

// 弹出视图

UIPopoverController *popCtl = [[UIPopoverController alloc] initWithContentViewController:rootVC];

// 弹出视图大小

popCtl.popoverContentSize = CGSizeMake(200, 300);

popCtl.backgroundColor = [UIColor yellowColor];

popCtl.delegate = self;

// 弹出该视图

[popCtl presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

}

#pragma mark - UIPopoverControllerDelegate

- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController

{

NSLog(@"将要隐藏弹出视图");

return YES;

}

- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController

{

NSLog(@"弹出视图已经隐藏");

}

#pragma mark - UISplitViewControllerDelegate

// 左侧导航栏将要出现或隐藏时回调此方法

-(void)splitViewController:(UISplitViewController *)svc willChangeToDisplayMode:(UISplitViewControllerDisplayMode)displayMode

{

// 左侧导航栏隐藏

if (displayMode == UISplitViewControllerDisplayModePrimaryHidden)

{

NSLog(@"左侧导航将要隐藏");

AppDelegate *app = [UIApplication sharedApplication].delegate;

app.spiltVC.displayModeButtonItem.title = @"显示导航栏";

//

svc.displayModeButtonItem.title = @"显示导航栏";

self.navigationItem.leftBarButtonItem = app.spiltVC.displayModeButtonItem;

}

else if (displayMode == UISplitViewControllerDisplayModePrimaryOverlay)

{

NSLog(@"左侧导航覆盖到详情视图上");

}

else if (displayMode == UISplitViewControllerDisplayModeAllVisible)

{

NSLog(@"左侧导航全部显示");

self.navigationItem.leftBarButtonItem = nil;

}

else

{

NSLog(@"自动显示");

}

}

你可能感兴趣的:(ipad开发(显示图片和文字))