Posts Tagged ‘iPad’

5
Apr

清明节在家

   Posted by: 边城浪子    in 乱七八糟, 平淡生活

离上次出车祸已经三个月多了,一直在乘坐公共交通,倒是也很自在。昨天太阳很好、很暖,路上的人们都脱下了身上沉重的冬装,挂在胳膊上走在路上,由于没有风,很享受。我是每月固定的到银行去将上个月的美元转成人民币,银行人也不多,不知道是不是都不想周末还来排队,总之很快就办完了。出来回到街上,不知道该去做什么,也不想回家去摆弄我的程序,就沿着朝阳路溜达。路过车站,正好来了一辆到神路街的车,我就上去了。车上人也很少,还有不少座位。我靠窗坐下,太阳晒在我身上,惬意。一会儿上来一个老人,搀扶着更老的一个老人。上车就座之后,就打听到小庄和朝阳哪个医院更近,车里的人都很热心,建议他们在小庄下车。生活就是这么真实,可以触及。

老人们下车了,我则一直坐到了蓝岛,然后去了百脑汇,转来转去,好像没什么新鲜的。其实我已经得到了通知,我的 iPad 下周可能就会到手了,所以我来的不是时候,应该过两周再来挑附件。反正我也是没什么目的嘛,天气这么好,不溜达简直是对不起自己。

由于这个周末加班连续奋战基本上没睡觉,所以好像突然打乱了自己的生物钟,这两天晚上都在 4、5 点才睡下。昨晚更是一口气将之前很想看的两部影片都看了,其中包括 (500) Days of Summer。就像影片开始所说的:这不是一个爱情故事,果不其然,看了之后有点触动。影片的色调暖暖的,剪辑也挺舒服,推荐还没看的同学,不要错过。

今天天气明显差了不少,不想出去。不过饭还是要吃的,另外还要准备一些食物留着下周回来吃。联系了 DF,准备和他改善一下生活——这厮居然在家里搞装修!于是,还是先听听音乐吧。已经好久没有推荐新歌曲了,其实新歌很多,也在 iTunes 上面下了不少近期热门唱片,只是推荐起来颇为麻烦,所以还不如就听听,顺便浏览一下自己的 blog。发现经常记录自己的生活状态并没有坏处,尤其是当回头去看时,别有一番滋味在心头。

最近最期待的事情就是拿到 iPad 以后,可以用前所未有的最舒服的方式阅读我的那些 PDF 了。不过,看小说可能还是 iPhone 比较合适,尤其是在床上。我最近又在看东野圭吾的小说,其中最令我不能释手的就是《信》,那根本就不是推理小说,但是简直太棒了!我想我会找时间弄一个 eInk 电子书阅读器,然后装满小说,给我的父母看,他们在家每天都可以看书,真幸福。

Tags: ,

21
Mar

iPad 开发初探

   Posted by: 边城浪子    in Apple & Mac, iPhone & iPad

因为 Apple 宣布开始接受 iPad App 的 Review,而且要赶在 27 号之前,所以我着急忙慌的将之前的 iPhone App 做一下改装。本来没想这么快就开发 iPad App,所以只能借助官方的 iPad Programming Guide 来进入。

之前在小屏幕上,不断的切换 UIView,倒是很方便的,而且内存泄露也很好查。现在这些 PopoverController、RootViewController、DetailViewController 以及 SplitViewController 混在一起,之前跑得好好的代码又出现了轻微的泄露,害得改了半天。

开发 iPad App,如果不常使用 delegate 的话,就会比较麻烦了。比如你要写 PopoverView,那么如果不通过 delegate(或者用 notification,不过没必要),那么就会费很大的劲儿。感觉上,现在 iPad App 更像是在开发一个真正意义上的应用了。

在我的第一个 iPad 应用中,除了 SplitView 自己有一个 Popover 以外,我自己还有一个 Popover,当用户按下上面的按钮的时候,需要关闭 Popover 并且将更改的数据传回主程序,同时刷新 RootViewController 里面的 tableView。以前我直接将数据传给一个 UIView,然后再 Push 它就可以了,现在则需要用 delegate。下面是核心的代码,其实很简单喽:

#pragma mark -
#pragma mark 选择代理
-(IBAction)dateSelectorButtonPushed:(id)sender {
 
	// 获取 target
	DateViewController *parent = (DateViewController *)sender;
 
	// 重新读取数据
	RootViewController *rootViewController = 
	     (RootViewController *)[[[UIApplication sharedApplication] delegate]
			     rootViewController];
	[rootViewController setDateMonth:parent.monthNow Day:parent.dayNow];	
	[rootViewController readContent];
 
	// Dismiss
	[self.popoverController dismissPopoverAnimated:YES];
	self.popoverController = nil;	
}

总的来说,移植还是满快的,我已经提交到 iTunes Connection 去了,上传界面多了 iPad 的截图文件上传,其它倒也没看见什么大变化。现在 Waiting For Review 了。

Tags: , , , , , ,

25
Feb

自定义的 UITableCellView 需要注意的一个地方

   Posted by: 边城浪子    in iPhone & iPad

我在不少 iPhone 程序里面使用自定义的 UITableCellView,比如之前的 80’s Movie Quotes,tableView 表现得很流畅,但是在最近一个项目中,却出现了奇怪的现象。

我自定义了一个 UITableCellView,然后在代码中引用:

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView
    cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"MainCell";
 
    MainCellViewController *cell = (MainCellViewController *)
        [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
	NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"MainCellView"
                                                     owner:self
                                                   options:nil];
	cell = [nib objectAtIndex:0];
    }
 
    // Set up the cell...
    cell.titleLabel.text = [[content objectAtIndex:indexPath.row] title];
 
    return cell;
}

一切看起来正常,但是在滚动 tableView 的时候,却发现有很卡的感觉,开始以为是我的 Custom UITableCellView 用了太多透明的 png,后来发现不是这样。经过检查,发现问题出在 CellIdentifier 上。

我之前一直以为 CellIdentifier 只要能区分要重复使用的 UITableCellView 就可以了,在使用默认的 tableView 的时候确实表现如此,但是用在自定义 UITableCellView 的时候就不是这样了,感觉是元件没有被缓存,每次都要重新初始化似的。

后来,我为 UITableCellView 在 IB 里面指定了 Identifier,我的 tableView 滚动马上变得平滑了。

Identifier

这个定义应该可以在代码中实现,不过在 IB 中定义一下还是很方便的。

这个其实很简单,之所以记录一下,是要提醒自己,不能什么都想当然了。

Tags: , , , , , , , ,

28
Jan

Apple iPad

   Posted by: 边城浪子    in Apple & Mac, 乱七八糟, 多了解点儿

昨晚本来想挺到两点,看一下现场的直播,后来想了想还是决定睡了,对于第二天早上起来就能看到最新的消息,也觉得不错。

结果,半夜三点多,共同封闭开发的同事们上楼来,把我吵醒了。我知道他们是刚看完直播,不然不会这么晚,于是忍不住拿起 iTouch 上网去看一看。结果很失望,不知道为什么,可能是期望太高了吧,看见新出来的 iPad 总觉得不是很舒服。

今天中午看到了一些实际操作的视频,想法却突然有了改变:苹果的 UE 还真是做得很到位啊,一下子对这款 iPad 充满了期待。

回到家以后的第一件事应该就是下一个新的 SDK,感受一下 iPad 模拟器吧?

Tags: , ,