Package io.nevernull.mobileui.ios
Class MobileUILayout
- java.lang.Object
-
- org.robovm.rt.bro.NativeObject
-
- org.robovm.objc.ObjCObject
-
- org.robovm.apple.foundation.NSObject
-
- org.robovm.apple.uikit.UIResponder
-
- org.robovm.apple.uikit.UIView
-
- io.nevernull.mobileui.ios.AbstractViewAdapter
-
- io.nevernull.mobileui.ios.MobileUILayout
-
- All Implemented Interfaces:
io.nevernull.mobileui.core.PropertyFireListener
,io.nevernull.mobileui.core.ResourceUpdateListener
,org.robovm.apple.coreanimation.CALayerDelegate
,org.robovm.apple.foundation.NSCoding
,org.robovm.apple.foundation.NSObjectProtocol
,org.robovm.apple.uikit.UIAccessibility
,org.robovm.apple.uikit.UIAccessibilityIdentification
,org.robovm.apple.uikit.UIAppearanceContainer
,org.robovm.apple.uikit.UICoordinateSpace
,org.robovm.apple.uikit.UIDynamicItem
,org.robovm.apple.uikit.UIFocusEnvironment
,org.robovm.apple.uikit.UIFocusItem
,org.robovm.apple.uikit.UIFocusItemContainer
,org.robovm.apple.uikit.UITraitEnvironment
,org.robovm.objc.ObjCProtocol
public class MobileUILayout extends AbstractViewAdapter implements io.nevernull.mobileui.core.ResourceUpdateListener, io.nevernull.mobileui.core.PropertyFireListener
MobileUI Layout for iOS that can be used as part of the UIView-tree or as view for aUIViewController
.To use a MobileUI layout in your
UIViewController
, create it within theloadView()
method like this:@Override public void loadView() { setView(new MobileUILayout("Main.layout.xml", this)); }
The second parameter is the binding context for the UI data bindings.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.nevernull.mobileui.ios.AbstractViewAdapter
AbstractViewAdapter.SafeAreaMode
-
Nested classes/interfaces inherited from class org.robovm.apple.uikit.UIView
org.robovm.apple.uikit.UIView.UIViewPtr
-
Nested classes/interfaces inherited from class org.robovm.apple.uikit.UIResponder
org.robovm.apple.uikit.UIResponder.UIResponderPtr
-
Nested classes/interfaces inherited from class org.robovm.apple.foundation.NSObject
org.robovm.apple.foundation.NSObject.Marshaler, org.robovm.apple.foundation.NSObject.NoRetainMarshaler, org.robovm.apple.foundation.NSObject.NSKeyValueObserver, org.robovm.apple.foundation.NSObject.NSObjectPtr
-
-
Constructor Summary
Constructors Constructor Description MobileUILayout(java.lang.String layoutResource)
Creates a layout from the given XML-resource without binding context.MobileUILayout(java.lang.String layoutResource, boolean bindToTestObject)
Creates a layout for a given XML-resource and optionally binds to thetestObject
that is embedded within the layout XML file.MobileUILayout(java.lang.String layoutResource, java.lang.Object bindingContext)
Creates a layout from the given XML-resource binding to the givenbindingContext
.MobileUILayout(org.robovm.apple.uikit.UIViewController viewController, java.lang.String layoutResource, java.lang.Object bindingContext)
Creates a layout from the given XML-resource binding to the givenbindingContext
using the givenas source for lifecycle events
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
didMoveToWindow()
Internal APIvoid
firePropertyChanged(java.lang.String... properties)
Fire a property change for this layout and bindingContext.android.view.View<org.robovm.apple.uikit.UIView>
getContentView()
Internal API<T extends org.robovm.apple.uikit.UIView>
TgetNativeView(java.lang.String id)
Returns theUIView
that is the delegate of theView
carrying the given ID.void
onResourceUpdate(java.lang.String absoluteResourceName)
Internal APIvoid
removeFromController()
-
Methods inherited from class io.nevernull.mobileui.ios.AbstractViewAdapter
execute, getContentFrameLayout, getIntrinsicContentSize, getLayoutParams, layoutSubviews, setInstantLayout, setListMode, setSafeAreaMode
-
Methods inherited from class org.robovm.apple.uikit.UIView
addConstraint, addConstraints, addGestureRecognizer, addInteraction, addKeyframe, addLayoutGuide, addMotionEffect, addSubview, animate, animate, animate, animate, animateKeyframes, areAnimationsEnabled, autoresizesSubviews, beginAnimations, bringSubviewToFront, canBecomeFocused, clearsContextBeforeDrawing, clipsToBounds, commitAnimations, convertPointFromCoordinateSpace, convertPointFromView, convertPointToCoordinateSpace, convertPointToView, convertRectFromCoordinateSpace, convertRectFromView, convertRectToCoordinateSpace, convertRectToView, decodeRestorableState, didAddSubview, didHintFocusMovement, didMoveToSuperview, didUpdateFocus, displayLayer, draw, draw, drawLayer, drawViewHierarchy, encode, encodeRestorableState, endEditing, exchangeSubview, exerciseAmbiguityInLayout, focusItemsInRect, gestureRecognizerShouldBegin, getAccessibilityIdentifier, getAction, getAlignmentRectForFrame, getAlignmentRectInsets, getAlpha, getAutoresizingMask, getBackgroundColor, getBottomAnchor, getBounds, getCenter, getCenterXAnchor, getCenterYAnchor, getCollisionBoundingPath, getCollisionBoundsType, getConstraints, getConstraintsAffectingLayout, getContentCompressionResistancePriority, getContentHuggingPriority, getContentMode, getContentScaleFactor, getCoordinateSpace, getDirectionalLayoutMargins, getEffectiveUserInterfaceLayoutDirection, getFirstBaselineAnchor, getFocusItemContainer, getFrame, getFrameForAlignmentRect, getGestureRecognizers, getHeightAnchor, getInheritedAnimationDuration, getInteractions, getLastBaselineAnchor, getLayer, getLayerClass, getLayoutGuides, getLayoutMargins, getLayoutMarginsGuide, getLeadingAnchor, getLeftAnchor, getMaskView, getMotionEffects, getParentFocusEnvironment, getPreferredFocusedView, getPreferredFocusEnvironments, getReadableContentGuide, getResizableSnapshot, getRestorationIdentifier, getRightAnchor, getSafeAreaInsets, getSafeAreaLayoutGuide, getSemanticContentAttribute, getSizeThatFits, getSnapshot, getSubviews, getSuperview, getSystemLayoutSizeFittingSize, getSystemLayoutSizeFittingSize, getTag, getTintAdjustmentMode, getTintColor, getTopAnchor, getTrailingAnchor, getTraitCollection, getTransform, getUserInterfaceLayoutDirection, getUserInterfaceLayoutDirection, getViewForBaselineLayout, getViewForFirstBaselineLayout, getViewForLastBaselineLayout, getViewPrintFormatter, getViewWithTag, getWidthAnchor, getWindow, hasAmbiguousLayout, hitTest, insertSubview, insertSubviewAbove, insertSubviewBelow, invalidateIntrinsicContentSize, isAccessibilityIgnoresInvertColors, isDescendantOf, isExclusiveTouch, isFocused, isHidden, isInsetsLayoutMarginsFromSafeArea, isMultipleTouchEnabled, isOpaque, isPointInside, isUserInteractionEnabled, layoutIfNeeded, layoutMarginsDidChange, layoutSublayers, needsUpdateConstraints, NoIntrinsicMetric, performSystemAnimation, performWithoutAnimation, preservesSuperviewLayoutMargins, removeConstraint, removeConstraints, removeFromSuperview, removeGestureRecognizer, removeInteraction, removeLayoutGuide, removeMotionEffect, requiresConstraintBasedLayout, safeAreaInsetsDidChange, sendSubviewToBack, setAccessibilityIdentifier, setAccessibilityIgnoresInvertColors, setAlpha, setAnimationBeginsFromCurrentState, setAnimationCurve, setAnimationDelay, setAnimationDelegate, setAnimationDidStopSelector, setAnimationDurationInSeconds, setAnimationRepeatAutoreverses, setAnimationRepeatCount, setAnimationsEnabled, setAnimationStartDate, setAnimationTransition, setAnimationWillStartSelector, setAutoresizesSubviews, setAutoresizingMask, setBackgroundColor, setBounds, setCenter, setClearsContextBeforeDrawing, setClipsToBounds, setContentCompressionResistancePriority, setContentHuggingPriority, setContentMode, setContentScaleFactor, setDirectionalLayoutMargins, setExclusiveTouch, setFrame, setGestureRecognizers, setHidden, setInsetsLayoutMarginsFromSafeArea, setInteractions, setLayoutMargins, setMaskView, setMotionEffects, setMultipleTouchEnabled, setNeedsDisplay, setNeedsDisplay, setNeedsFocusUpdate, setNeedsLayout, setNeedsUpdateConstraints, setOpaque, setPreservesSuperviewLayoutMargins, setRestorationIdentifier, setSemanticContentAttribute, setTag, setTintAdjustmentMode, setTintColor, setTransform, setTranslatesAutoresizingMaskIntoConstraints, setUserInteractionEnabled, shouldUpdateFocus, sizeToFit, tintColorDidChange, traitCollectionDidChange, transition, transition, translatesAutoresizingMaskIntoConstraints, updateConstraints, updateConstraintsIfNeeded, updateFocusIfNeeded, willDrawLayer, willMoveToSuperview, willMoveToWindow, willRemoveSubview
-
Methods inherited from class org.robovm.apple.uikit.UIResponder
areAccessibilityElementsHidden, becomeFirstResponder, canBecomeFirstResponder, canPerformAction, canResignFirstResponder, clearTextInputContextIdentifier, getAccessibilityActivationPoint, getAccessibilityAttributedHint, getAccessibilityAttributedLabel, getAccessibilityAttributedValue, getAccessibilityFrame, getAccessibilityHint, getAccessibilityLabel, getAccessibilityLanguage, getAccessibilityNavigationStyle, getAccessibilityPath, getAccessibilityTraits, getAccessibilityValue, getActionTarget, getInputAccessoryView, getInputAccessoryViewController, getInputAssistantItem, getInputView, getInputViewController, getKeyCommands, getNextResponder, getTextInputContextIdentifier, getTextInputMode, getUndoManager, getUserActivity, isAccessibilityElement, isAccessibilityViewModal, isFirstResponder, motionBegan, motionCancelled, motionEnded, pressesBegan, pressesCancelled, pressesChanged, pressesEnded, reloadInputViews, remoteControlReceived, resignFirstResponder, restoreUserActivityState, setAccessibilityActivationPoint, setAccessibilityAttributedHint, setAccessibilityAttributedLabel, setAccessibilityAttributedValue, setAccessibilityElement, setAccessibilityElementsHidden, setAccessibilityFrame, setAccessibilityHint, setAccessibilityLabel, setAccessibilityLanguage, setAccessibilityNavigationStyle, setAccessibilityPath, setAccessibilityTraits, setAccessibilityValue, setAccessibilityViewModal, setShouldGroupAccessibilityChildren, setUserActivity, shouldGroupAccessibilityChildren, touchesBegan, touchesCancelled, touchesEnded, touchesEstimatedPropertiesUpdated, touchesMoved, updateUserActivityState
-
Methods inherited from class org.robovm.apple.foundation.NSObject
addKeyValueObserver, addKeyValueObserver, autorelease, awakeFromNib, conformsToProtocol, copy, description, didChangeValue, didChangeValue, didChangeValues, equals, getAutoContentAccessingProxy, getClassForCoder, getClassForKeyedArchiver, getKeyValueCoder, getObservationInfo, hash, hashCode, isEqual, isKindOfClass, isMemberOfClass, mutableCopy, performSelector, performSelector, performSelector, performSelector, performSelector, performSelector, performSelector, performSelectorInBackground, performSelectorOnMainThread, performSelectorOnMainThread, performSelectorV, performSelectorV, performSelectorV, release, removeKeyValueObserver, removeKeyValueObservers, respondsToSelector, retain, retainCount, setObservationInfo, toString, willChangeValue, willChangeValue, willChangeValues
-
-
-
-
Constructor Detail
-
MobileUILayout
public MobileUILayout(java.lang.String layoutResource)
Creates a layout from the given XML-resource without binding context. This can be used for completely static layouts.- Parameters:
layoutResource
- path of the MobileUI layout within the assets folder
-
MobileUILayout
public MobileUILayout(java.lang.String layoutResource, boolean bindToTestObject)
Creates a layout for a given XML-resource and optionally binds to thetestObject
that is embedded within the layout XML file.- Parameters:
layoutResource
- path of the MobileUI layout within the assets folderbindToTestObject
- flag to enabletestObject
-binding
-
MobileUILayout
public MobileUILayout(java.lang.String layoutResource, java.lang.Object bindingContext)
Creates a layout from the given XML-resource binding to the givenbindingContext
. The bindingContext can be any object that implements the properties and methods used in the layout file.- Parameters:
layoutResource
- path of the MobileUI layout within the assets folderbindingContext
- object to use as bindingContext for the given layout
-
MobileUILayout
public MobileUILayout(org.robovm.apple.uikit.UIViewController viewController, java.lang.String layoutResource, java.lang.Object bindingContext)
Creates a layout from the given XML-resource binding to the givenbindingContext
using the givenas source for lifecycle events
. The bindingContext can be any object that implements the properties and methods used in the layout file.- Parameters:
viewController
- theUIViewController
giving the lifecycle events for a possibleLifeCycleAware
bindingContextlayoutResource
- path of the MobileUI layout within the assets folderbindingContext
- object to use as bindingContext for the given layout
-
-
Method Detail
-
removeFromController
public void removeFromController()
-
didMoveToWindow
public void didMoveToWindow()
Internal API- Overrides:
didMoveToWindow
in classorg.robovm.apple.uikit.UIView
-
getContentView
public android.view.View<org.robovm.apple.uikit.UIView> getContentView()
Internal API- Specified by:
getContentView
in classAbstractViewAdapter
- Returns:
- internal
-
onResourceUpdate
public void onResourceUpdate(java.lang.String absoluteResourceName)
Internal API- Specified by:
onResourceUpdate
in interfaceio.nevernull.mobileui.core.ResourceUpdateListener
- Parameters:
absoluteResourceName
- internal
-
firePropertyChanged
public void firePropertyChanged(java.lang.String... properties)
Fire a property change for this layout and bindingContext.- Specified by:
firePropertyChanged
in interfaceio.nevernull.mobileui.core.PropertyFireListener
- Parameters:
properties
- list of property names that have been changed
-
getNativeView
public <T extends org.robovm.apple.uikit.UIView> T getNativeView(java.lang.String id)
Returns theUIView
that is the delegate of theView
carrying the given ID. The ID has been given in the XML file with theid
attribute.- Type Parameters:
T
- This implementation will automatically cast to the return type. Please be aware, that the internal implementation of MobileUI might possibly change, leading toClassCastException
.- Parameters:
id
- ID as given in the XML file (id attribute)- Returns:
- the
UIView
belonging to theView
that is marked with the ID or null. - Throws:
java.lang.ClassCastException
- if you try to assign the result to a wrong type.
-
-