台灣最大程式設計社群網站
線上人數
1588
 
會員總數:246276
討論主題:189810
歡迎您免費加入會員
討論區列表 >> iOS APP/ swift 開發 >> 請問XP10187「iphone創意程式設計家」第五章UFO範例
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
請問XP10187「iphone創意程式設計家」第五章UFO範例
價值 : 500 QP  點閱數:3074 回應數:7
樓主

大家加油
初學者
799 905
8023 563
發送站內信

請問XP10187「iphone創意程式設計家」第五章UFO範例,設計後行 專案可以執行 但UFO圖型
卻未出現?請問我是不是有遺漏步驟呢?附上專案,煩請協助,謝謝!
我的專案檔位置:
http://www.megaupload.com/?d=WMY3C4BZ
程式檔案
RootView.m:
//
// RootView.m
//
// Created by Eric Lin on 2010/5/26.
// Copyright 2010 __MyCompanyName__. All rights reserved.
//

#import "RootView.h"

@implementation RootView

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
if( [touch tapCount]==2 ){
CGPoint pt = [touch locationInView:self];
UFOView *view = [[UFOView alloc] initWithFrame:CGRectMake(pt.x-50,pt.y-20,50,20)];
[self addSubview:view];
[view release];
}
}
@end


UFOView.m:
//
// UFOView.m
// UFO
//
// Created by Eric Lin on 2010/5/26.
// Copyright 2010 __MyCompanyName__. All rights reserved.
//

#import "UFOView.h"

@implementation UFOView

- (id) initWithFrame:(CGRect)frame {
self=[super initWithFrame:frame];
self.opaque = NO;
return self;
}

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
if( [touch tapCount]==2 ){
[self removeFromSuperview];
}


- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[UIView beginAnimations:@"moveUFO" context:NULL];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:2.5f];
UITouch *touch = [touches anyObject];
CGPoint pt = [touch locationInView:self.superview];
CGRect rect = [self frame];
rect.origin.x = pt.x;
rect.origin.y = pt.y;
self.frame = rect;
[UIView commitAnimations];
}

- (void) drawRect:(CGRect)rect {
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(ctx, 100, 255, 0, 0.5);
float ox = rect.origin.x;
float oy = rect.origin.y;
float cx = ox + rect.size.width/2;
CGContextMoveToPoint(ctx, cx, oy);
CGRect newRect = CGRectMake(cx-rect.size.width/4, oy, rect.size.width/2, rect.size.height/2);
CGContextAddEllipseInRect(ctx, newRect);
CGRect newRect2 = CGRectMake(ox, oy+rect.size.height/4, rect.size.width, rect.size.height/2);
CGContextAddEllipseInRect(ctx, newRect2);
CGContextFillPath(ctx);
}

@end

本篇文章發表於2011-03-22 19:00
1樓
最有價值解答

香帥
檢舉此回應
請打開5-20頁
初學者會很容易忘記使用 addSubView 把飛碟的UIView加到這個底層的畫面,
這樣子您將永遠看不到飛碟的出現..........
請檢查RootView.h內的addSubView是否不小心被刪了.
本篇文章回覆於2011-03-22 20:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

大家加油
檢舉此回應
addSubView 在RootView.m有加進去了..還是不是指這個?
"使用 addSubView 把飛碟的UIView加到這個底層的畫面"意思是?
本篇文章回覆於2011-03-22 20:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

香帥
檢舉此回應
我幫您下載資料,來比對看看,如果加進去應該可以才對...
本篇文章回覆於2011-03-22 20:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

大家加油
檢舉此回應
RootView.h..我查查看

謝謝
本篇文章回覆於2011-03-22 20:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

大家加油
檢舉此回應
麻煩香帥大大了...謝謝..
本篇文章回覆於2011-03-22 21:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

香帥
檢舉此回應
跟書上範例好像一樣
找不出漏掉
這幾天我會安裝一些iphone環境再幫您試看看.
本篇文章回覆於2011-03-22 23:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

大家加油
檢舉此回應
香帥:
謝謝 剛剛我試驗了一下 可以了..@@
不好意思 還讓你測試那麼久
我決定再繼續努力唸書
謝謝
本篇文章回覆於2011-03-23 00:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.