全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1193
推到 Plurk!
推到 Facebook!

ios 設計上的問題

缺席
P.D.
版主


發表:571
回覆:3880
積分:3666
註冊:2006-10-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2015-06-10 14:22:17 IP:118.160.xxx.xxx 未訂閱
請問各位!

原本在Android 上開發使用都沒問題的app, XE8加入 IOS32(ipad OS 7.1.2), 發生幾個問題

1. 在 MAIN FORM 設計一個button1 事件中是 FORM1.Close;
就只有這樣, 也如實丟到ipad 2 上運作, 但只要按下 button1, 就出現 Error : Unsupported platform service: Terminate
ios 不能使用 form1.close 嗎?
2. 使用 TPopup的元件, 在 main form 的 Touch 事件上設定 LongTap 就呼叫出 Popup, 在 Andorid 上一切是正常, 但在 ipad 上, 長按會出現 Popup, 可是一放開 popup 就消失也就是我無法去點選 Popup 裡面的東西, ios有特別的 Popup設計嗎?
3. 在 Android 上, 很多前輩都有分享 callback用法, 我也依 縹渺 的分享, 弄了一個 DlgMessage 來取代系統的 MessageDlg (因為這個內建元件在Android 的表現真的很差, 又沒辦法調整系統字形大小, 在 1024的解析下, 實在不忍卒睹), 但在 ios 中似乎有時可以運作, 有時按下 [ok] 後, 又會再次出這個 dialog , 是因為 callback 技術是Android 專用的嗎?

ps. 以上的問題, 在 android 上都沒有問題
JamesJuan
中階會員


發表:2
回覆:75
積分:80
註冊:2003-04-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2015-06-10 15:19:44 IP:59.127.xxx.xxx 未訂閱
只能回答你問題三,因為 一跟二我都沒有這樣用過
問題三的部分,我們都是用同一個方式做 callback,沒有區分作業系統,這部分是正常運作的
Main Chen
高階會員


發表:29
回覆:134
積分:127
註冊:2002-10-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2015-06-10 16:16:31 IP:220.134.xxx.xxx 訂閱
第一個問題, 可以參考 Apple 官方文件:
https://developer.apple.com/library/ios/qa/qa1561/_index.html

第二個問題, 我寫在 OnGesture 事件裡, 判斷如下, 可以在 iOS 下正常:
if (EventInfo.GestureID = System.UITypes.igiLongTap) then

===================引 用 P.D. 文 章===================
請問各位!

原本在Android 上開發使用都沒問題的app, XE8加入 IOS32(ipad OS 7.1.2), 發生幾個問題

1. 在 MAIN FORM 設計一個button1 事件中是 FORM1.Close;
就只有這樣, 也如實丟到ipad 2 上運作, 但只要按下 button1, 就出現 Error : Unsupported platform service: Terminate
ios 不能使用 form1.close 嗎?
2. 使用 TPopup的元件, 在 main form 的 Touch 事件上設定 LongTap 就呼叫出 Popup, 在 Andorid 上一切是正常, 但在 ipad 上, 長按會出現 Popup, 可是一放開 popup 就消失也就是我無法去點選 Popup 裡面的東西, ios有特別的 Popup設計嗎?
3. 在 Android 上, 很多前輩都有分享 callback用法, 我也依 縹渺 的分享, 弄了一個 DlgMessage 來取代系統的 MessageDlg (因為這個內建元件在Android 的表現真的很差, 又沒辦法調整系統字形大小, 在 1024的解析下, 實在不忍卒睹), 但在 ios 中似乎有時可以運作, 有時按下 [ok] 後, 又會再次出這個 dialog , 是因為 callback 技術是Android 專用的嗎?

ps. 以上的問題, 在 android 上都沒有問題
P.D.
版主


發表:571
回覆:3880
積分:3666
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2015-06-10 19:28:28 IP:118.160.xxx.xxx 未訂閱
看來, ios 真的不能close app哦! 但既然embt 標謗可以共同開發跨平台, 那 form1.close 是否 原廠應依據各作業系統的規範來自動轉換呢? 而不是我們自己要去搜索資訊, 如果有這個能耐通達各平台的知識, 怎麼會考慮使用xe來設計呢! 又或者 embt 有這方面的討論, 只是又不知道藏在那裡, 我們搞xe8的bug已經夠煩了, 那還有美國時間一個個去查~~我又唉了~~~~
至於第二個問題,
我也是這麼寫的, 但不知道為什麼ipad上 Popup 就是無法keep住, 沒改任何code
===================引 用 Main Chen 文 章===================
第一個問題, 可以參考 Apple 官方文件:
https://developer.apple.com/library/ios/qa/qa1561/_index.html

第二個問題, 我寫在 OnGesture 事件裡, 判斷如下, 可以在 iOS 下正常:
if (EventInfo.GestureID = System.UITypes.igiLongTap) then

P.D.
版主


發表:571
回覆:3880
積分:3666
註冊:2006-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2015-06-18 00:27:00 IP:61.223.xxx.xxx 未訂閱
form1.close 的部份, 看來在 ios 確定是不能用, 也就是說 embt 對於 close 的做法, 沒有把ios的標準放進來考量, 所以同一支app想要Android 及  ios 能共用的, 就要用  {$IFDEF ANDROID}...{$ENDIF}隔開判斷
至於 TPopup 在 ios 上以 Touch 指定 igiLongTap 下 Popup1.Show() , Android 可以把 Popup 保留在螢幕上, 並可點選, 但在ios中長按出現 Popup畫面, 只要手指離開螢幕, Popup跟著消失的問題, 我原以為是embt 元件的問題, 但試了tms 的 TPopup 元件也會如此, 看來這是xe系統的問題了, 目前的做法是 TPopup.Show(True) 可解決, 這個方式就像 ShowModal 做法, 顯示後, 必須加一個butoon讓 Popup.isopen=false 來關閉才行, 無法如Android 系統, 當Popup顯示後, 只要在 Popup 範圍以外點選, popup 就能主動消失
問題已處理完畢, 結案
系統時間:2017-10-17 7:55:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!