美文网首页
ipad开发(显示图片和文字)

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

作者: Whimer | 来源:发表于2017-07-13 09:57 被阅读0次

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

    @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

    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开发(显示图片和文字)

          本文链接:https://www.haomeiwen.com/subject/pmfwhxtx.html