12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- //
- // PDRNView.h
- // Pandora
- //
- // Created by Pro_C Mac on 13-4-7.
- //
- //
- #import "PGMethod.h"
- #import "PGPlugin.h"
- #import <UIKit/UIKit.h>
- typedef enum PDRNViewBelongTo {
- PDRNViewUnmarried,
- PDRNViewThrowout,
- PDRNViewInWindow,
- PDRNViewInWebview,
- PDRNViewInWebviewGroup,
- PDRNViewInTab,
- }PDRNViewBelongTo;
- typedef NS_OPTIONS(NSUInteger, PDRNViewFeatureMask) {
- PDRNViewFeatureMaskAsFllowView = (1 << 0),
- PDRNViewFeatureMaskCreateFromWebviewStyleSubNviews = (1 << 1),
- PDRNViewFeatureMaskStart = 2
- };
- /**
- NView基类所有扩展出的NView插件都应该从该类继承
- */
- @interface PDRNView : UIView
- /// @brief JavaScript执行环境
- @property (nonatomic, assign)PGPlugin *JSContext;
- /// @brief NView插件类别名称
- @property (nonatomic, copy) NSString *identity;
- @property (nonatomic, assign)BOOL preventLayout;
- @property (nonatomic, readonly)UIView *statusbarView;
- /// @brief NView唯一标识
- @property (nonatomic, copy) NSString *viewName;
- @property (nonatomic, copy) NSString *viewUUID;
- @property (nonatomic, copy) NSString *jsCallbackId;
- @property (nonatomic, copy) NSString *parent;
- @property (nonatomic, strong)UIViewController* viewController;
- @property (nonatomic, retain, readonly)NSDictionary* options;
- @property (nonatomic, assign)BOOL autoAppendStatusBar;
- @property(nonatomic, assign)PDRNViewBelongTo belongTo;
- @property(nonatomic, assign)NSUInteger featureMask;
- /**
- @brief 使用JS NViewOption创建NView 子类应该重写该方法实现初始化
- @param options NViewOption
- @return id NView对象
- */
- - (id)initWithOptions:(NSDictionary*)options;
- - (id)initWithOptions:(NSDictionary*)aOptios withJsContext:(PGPlugin*)jsContext;
- - (id)initWithFrame:(CGRect)frame withOptions:(NSDictionary*)aOptios withJsContext:(PGPlugin*)jsContext;
- - (void)setOptions:(NSDictionary *)options;
- - (void)createStatusbar;
- - (void)destoryStatusbar;
- - (void)setStatusbarColor:(UIColor*)bkColor;
- /**
- @brief 分发event事件
- @param evtName 事件名称
- @return 无
- */
- - (void)dispatchEvent:(NSString*)evtName;
- /**
- @brief NView从NWindow上移除时回调
- @param
- @return 无
- */
- - (void)onRemoveFormSuperView;
- - (void)onLayout_;
- - (NSData*)getMettics:( PGMethod*) pMethod;
- // 返回当前控件最小尺寸,可以是%,或者PX值,或者Auto
- - (NSDictionary*)GetMiniControllerSize:(int)nOri;
- - (void)CreateView:(PGMethod*)pMethod;
- - (NSString*)getObjectString;
- - (void)removeFormUIStrack;
- - (void)removeStyleForKey:(NSString*)key;
- - (void)setStyle:(id)value forKey:(NSString*)key;
- -(CGRect)measureSubViewRect:(CGRect)wBounds;
- - (void)addFeatureMask:(PDRNViewFeatureMask)mask;
- - (BOOL)hasFeatureMask:(PDRNViewFeatureMask)mask;
- - (CGFloat)getStatusBarHeight;
- - (BOOL)hasStatusBar;
- + (BOOL)isViewVisual:(UIView*)view;
- @end
|