0
Thumbsup

いい質問だ

0

Thumbsdown

うーん

【SplitWindow】masterViewとdetailViewの幅の変更操作について

reinisyed
reinisyed 40

投稿日:2014-08-21 16:29:28

初投稿になります。
宜しくお願い致します。

環境は以下の状態で行っております。

SDK 3.2.0.GA
iPad Air 実機
iOS 7.1.2 (11D257)

デフォルトのAlloyプロジェクトに下記のような、ごく単純なSplitWindowのみを配置した状態で実行します。

var masterView = Ti.UI.createView();
masterView.setBackgroundColor("red");
var detailView = Ti.UI.createView();
detailView.setBackgroundColor("green");

$.index = Ti.UI.iPad.createSplitWindow({
    masterView: masterView,
    detailView: detailView,
    backgroundColor: "#FFF",
    statusBarStyle: Ti.UI.iPhone.StatusBar.LIGHT_CONTENT
});

$.index.open();

実行後、表示されている左右のviewの間にある黒い線を、指で左右に動かす事ができ、それに合わせて左右のviewの幅が変わるのですが、この線が細すぎて困っています(当たり判定がシビアなため)。
この線を太くする方法、もしくは可変を無効化する方法は有りますでしょうか?



回答

yagi_
yagi_
2540
Tcad_icon Tcmd_icon Tce_icon

Thumbsup

いい回答

1

Thumbsdown

うーん



元になっているMGSplitViewにはその機能はあるのですが、Titanium側でAPIを公開していないようですね。

https://github.com/mattgemmell/MGSplitViewController/blob/master/Classes/MGSplitViewController.m#L1051

一応、要望は出ていますが、優先度は低くなっています。アカウントを作ってWatchするとプレッシャーをかけられるかもしれません。
https://jira.appcelerator.org/browse/TIMOB-11946

Objective-Cのcategoryを使って既存のTiUIiPadSplitWindowクラスを拡張したモジュールを作ってしまえばいけるような気もします。たぶんこれが一番確実です。
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/CustomizingExistingClasses/CustomizingExistingClasses.html

こんな風に既存のクラスを拡張して機能を追加したモジュールがあります。
https://github.com/ryugoo/TiExtendWeb/blob/master/Classes/TiUIWebView%2BExtend.m


ご回答頂き、ありがとう御座います。 うすうす感じていたのですが、やはり未対応の項目なんですね… 現在はSDKのソースを見つつ、setAllowsDraggingDividerをラップした拡張モジュール、もしくは同じ内容で別関数を用意する方向で動いています。 対応後の動作で特に問題が無ければまた、ご報告させて頂きます。 --- reinisyed

ログインすると回答することができます。