实例介绍
【实例截图】
【核心代码】
//
// MenuViewController.m
// SUSHIDO
//
// Created by WANG Mengke on 10-6-29.
// Copyright 2010 __MyCompanyName__. All rights reserved.
//
#import "MenuViewController.h"
#import "FileManagerController.h"
#import "TableCellBGView.h"
#import "MenuPagingViewController.h"
#import "SUSHIDOAppDelegate.h"
@implementation MenuViewController
#pragma mark -
#pragma mark Initialization
- (id)initWithStyle:(UITableViewStyle)style{
self = [super initWithStyle:style];
if (self) {
self.tabBarItem.title = @"Menu";
UIImage *image = [[UIImage alloc] initWithContentsOfFile:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"LOGO.png"]];
UIImageView *logoImageView = [[UIImageView alloc] initWithImage:image];
[image release];
self.navigationItem.titleView = logoImageView;
[logoImageView release];
UIImage *imageTab = [[UIImage alloc] initWithContentsOfFile:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"TAB_ICON_MENU.png"]];
self.tabBarItem.image = imageTab;
[imageTab release];
self.navigationItem.title=@"SUSHIDO";
//self.navigationController.navigationBarHidden = NO;
mMenus = [[NSArray alloc] initWithArray:[FileManagerController allContentsInPath:[[FileManagerController documentPath] stringByAppendingPathComponent:@"menu"]]];
UIImage *titleImage = [[UIImage alloc] initWithContentsOfFile:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"MenuTitle.png"]];
UIImageView *titleView = [[UIImageView alloc] initWithImage:titleImage];
[titleImage release];
[titleView setFrame:CGRectMake(0, 0, titleImage.size.width, titleImage.size.height)];
[self.tableView setTableHeaderView:titleView];
[titleView release];
[self.tableView setSeparatorColor:[UIColor whiteColor]];
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];
}
return self;
}
- (void)dealloc {
[mMenus release];
[super dealloc];
}
/*
- (id)initWithStyle:(UITableViewStyle)style {
// Override initWithStyle: if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
if ((self = [super initWithStyle:style])) {
}
return self;
}
*/
#pragma mark -
#pragma mark View lifecycle
/*
- (void)viewDidLoad {
[super viewDidLoad];
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
*/
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self.view setBackgroundColor:[UIColor clearColor]];
[(SUSHIDOAppDelegate *)[[UIApplication sharedApplication] delegate] resetBGView];
}
/*
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
}
*/
/*
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
}
*/
/*
- (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
}
*/
/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/
#pragma mark -
#pragma mark Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
// Return the number of rows in the section.
return [mMenus count];
}
- (CellStyle)checkCellStyleWith:(NSArray *)_datasource Index:(NSInteger)_index
{
NSInteger _count = [_datasource count];
if (_count > 0) {
if (_count > 1) {
if (_index == 0) {
return CellStyle_Top;
}
if (_index == _count - 1) {
return CellStyle_Bottom;
}
return CellStyle_Middle;
}
return CellStyle_Single;
}
return CellStyle_None;
}
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
TableCellBGView *bgView = [[TableCellBGView alloc] init];
bgView.theCellStyle = [self checkCellStyleWith:mMenus Index:indexPath.row];
[cell setBackgroundView:bgView];
[bgView release];
[cell setBackgroundColor:[UIColor redColor]];
[cell.textLabel setBackgroundColor:[UIColor clearColor]];
cell.textLabel.text = [mMenus objectAtIndex:indexPath.row];
[cell.detailTextLabel setBackgroundColor:[UIColor clearColor]];
cell.detailTextLabel.text = @"detailTextLabel";
return cell;
}
/*
// Override to support conditional editing of the table view.
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
// Return NO if you do not want the specified item to be editable.
return YES;
}
*/
/*
// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete the row from the data source
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];
}
else if (editingStyle == UITableViewCellEditingStyleInsert) {
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
}
}
*/
/*
// Override to support rearranging the table view.
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
}
*/
/*
// Override to support conditional rearranging of the table view.
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
// Return NO if you do not want the item to be re-orderable.
return YES;
}
*/
#pragma mark -
#pragma mark Table view delegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Navigation logic may go here. Create and push another view controller.
NSString *path = [[[FileManagerController documentPath] stringByAppendingPathComponent:@"menu"] stringByAppendingPathComponent:[mMenus objectAtIndex:indexPath.row]];
MenuPagingViewController *menuScrollViewController = [[MenuPagingViewController alloc] initWithPath:path
tabTitle:nil
navigationTitle:nil];
[self.navigationController pushViewController:menuScrollViewController animated:YES];
[menuScrollViewController release];
}
#pragma mark -
#pragma mark Memory management
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Relinquish ownership any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Relinquish ownership of anything that can be recreated in viewDidLoad or on demand.
// For example: self.myOutlet = nil;
}
@end
标签: 点菜系统
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论