Я сделал xib-файл с некоторыми кнопками и надписями, но он не отображается правильно на мой взгляд.
В создан все выходы для этого xib в моей реализации класса file:
@property(nonatomic,retain) IBOutlet UIView *navigationView;
@property(nonatomic,retain) IBOutlet UIPageControl *pagerController;
@property(nonatomic,retain) UIImageView *arrowImage;
@property(nonatomic,retain) UILabel *steplabel;
@property(nonatomic,retain) IBOutlet UIButton *butonForward;
@property(nonatomic,retain) IBOutlet UIButton *buttonBackward;
Я хотел добавить xib в моя реализация файл:
- (void)initViewsAndLayersUsingFrame:(CGRect)frame
{
//additional setup for the map
//contains all ui elements files in an array
self.uiElements = [[NSBundle mainBundle] loadNibNamed:@"HallViewUIElements" owner:self options:nil];
[self addOverlayView:self.navigationControlView x:0 y:0];
}
addOverlayView забавный c Я написал, чтобы добавить представление как подпредставление:
- (void)addOverlayView:(UIView*)v x:(CGFloat)x y:(CGFloat)y
{
v.hidden = YES;
CGRect vFrame = v.frame;
vFrame.origin.x = x;
vFrame.origin.y = y;
if ((v.autoresizingMask & UIViewAutoresizingFlexibleWidth) != 0) {
vFrame.size.width = topView.bounds.size.width;
}
v.frame = vFrame;
[v.layer setTransform:CATransform3DMakeTranslation(0, 0, OVERLAY_TRANSLATION_Z)];
[overlayView addSubview:v];
}
Вот также картинка с ограничениями Я пришел из swift и никогда ничего не делал с xib-файлами, так чего мне не хватает? Ограничения должны быть правильными. Не могу найти ошибку там.
Заранее спасибо.
ОБНОВЛЕНИЕ на основе предложенного ответа
// imports
#define OVERLAY_TRANSLATION_Z 1000
@class NavigationLocationSelection;
@class RadialGradientLayer;
@interface HallViewController : AppearanceTrackingViewController <UIScrollViewDelegate, HallElementSelectionDelegate, NavigationManagerDelegate, TabbarSelectionNotification, TouchDownDelegate, RoundTripViewControllerDelegate,
UIPopoverPresentationControllerDelegate,
UINavigationControllerDelegate, UITableViewDelegate, UITableViewDataSource, CAAnimationDelegate>
{
HallViewTestView* hallView;
MapSource* datasource;
UIView* wrapperView;
UIView* overlayView;
UIView* topView;
CenteringScrollView* scrollView;
CGSize scrollViewBoundsSize;
UITouchImageView *banner;
IBOutlet UIView *navigationControlView;
IBOutlet UIImageView *arrowImage;
IBOutlet UILabel *steplabel;
SegmentedControl *barButtonSegmentedControl;
IBOutlet SegmentedControl *barButtonSegmentedControl2;
IBOutlet SegmentedControl *barButtonSegmentedControl3;
IBOutlet UILabel *targetLabel;
IBOutlet UIPageControl *pagerController;
IBOutlet UIView *detailView;
IBOutlet UIView *rotateHintView;
IBOutlet UILabel *rotateLabel;
UIImage *imgAuto, *imgAutoDisabled, *imgManual, *imgManualDisabled, *imgFavEnabled, *imgFavDisabled, *imgCompass, *imgCompassDisabled;
BOOL ignoreSegmentedControlChange;
UIBarButtonItem* barButtonItem;
RadialGradientLayer* pointLayer;
CAShapeLayer* arrowLayer;
CAShapeLayer* deviationLayer;
CAShapeLayer* compassLayer;
CLLocationDirection headingAccuracy;
// locationLayer contains pointLayer, arrowLayer, deviationLayer and compassLayer as sublayers
CAShapeLayer* locationLayer;
NSMutableArray<StandModel*>* stands;
NSMutableArray* companies;
NSMutableArray* lectures;
MapElement_t *lastSelectedElement;
HallViewTestView *lastSelectedHallView;
CGPoint currentPosition;
double currentRotation;
double currentPitch;
double currentRoll;
double currentYaw;
bool haveCurrentYaw;
double compassRotation;
bool haveCompassRotation;
double pendingPitch;
double pendingRoll;
double pendingYaw;
NSMutableArray* deviceMotionStack;
bool updateRunning;
NSLock* deviceMotionLock;
int levelIndex;
double currentDeviation;
double pixelPerMeter;
UIView *mask;
NavigationLocationSelection *locationSelection;
BOOL gotoNewLocation;
BOOL waitingForLocation;
/* routing */
CFTimeInterval routingAnimationStartTime;
CGPoint routingAnimationDestination;
/* detailZoom */
bool showingDetailMaps;
}
@property(nonatomic,retain) IBOutlet UIView *targetView;
@property(nonatomic,retain) IBOutlet UIView *navigationView;
/* routing */
@property(nonatomic,retain) IBOutlet UIButton *routingFwdBtn;
@property(nonatomic,retain) IBOutlet UIButton *routingBwdBtn;
@property(nonatomic,retain) IBOutlet UIButton *routingCloseBtn;
@property(nonatomic,retain) IBOutlet UIPageControl *pagerController;
@property(nonatomic,retain) UIImageView *arrowImage;
@property(nonatomic,retain) UILabel *steplabel;
/* detailZoom */
- (id)initWithFrame:(CGRect)frame andMapSource:(MapSource*)source;
- (void)initViewsAndLayersUsingFrame:(CGRect)frame;
// more methods for page control and so on
- (IBAction)navigateBack:(id)sender;
@end
Здесь - это файл реализации для моего HallViewController .