mirror of
				https://github.com/NativeScript/NativeScript.git
				synced 2025-11-04 12:58:38 +08:00 
			
		
		
		
	`this.nativeViewProtected` is faster than `this.ios` Co-authored-by: Nathan Walker <walkerrunpdx@gmail.com>
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { LayoutBaseCommon, clipToBoundsProperty, isPassThroughParentEnabledProperty } from './layout-base-common';
 | 
						|
import { View } from '../core/view';
 | 
						|
 | 
						|
export * from './layout-base-common';
 | 
						|
 | 
						|
export class LayoutBase extends LayoutBaseCommon {
 | 
						|
	nativeViewProtected: UIView;
 | 
						|
 | 
						|
	public addChild(child: View): void {
 | 
						|
		super.addChild(child);
 | 
						|
		this.requestLayout();
 | 
						|
	}
 | 
						|
 | 
						|
	public insertChild(child: View, atIndex: number): void {
 | 
						|
		super.insertChild(child, atIndex);
 | 
						|
		this.requestLayout();
 | 
						|
	}
 | 
						|
 | 
						|
	public removeChild(child: View): void {
 | 
						|
		super.removeChild(child);
 | 
						|
		this.requestLayout();
 | 
						|
	}
 | 
						|
 | 
						|
	_setNativeClipToBounds() {
 | 
						|
		if (this.clipToBounds) {
 | 
						|
			const view = this.nativeViewProtected;
 | 
						|
			if (view) {
 | 
						|
				view.clipsToBounds = true;
 | 
						|
			}
 | 
						|
		} else {
 | 
						|
			super._setNativeClipToBounds();
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	[clipToBoundsProperty.getDefault](): boolean {
 | 
						|
		return false;
 | 
						|
	}
 | 
						|
	[clipToBoundsProperty.setNative](value: boolean) {
 | 
						|
		this._setNativeClipToBounds();
 | 
						|
	}
 | 
						|
 | 
						|
	[isPassThroughParentEnabledProperty.setNative](value: boolean) {
 | 
						|
		(<any>this.nativeViewProtected).setPassThroughParent(value);
 | 
						|
	}
 | 
						|
}
 |