forked from organicmaps/organicmaps
Merge pull request #3402 from igrechuhin/MAPSME-1210
[ios] Added rank info to profile.
This commit is contained in:
commit
fa288be437
4 changed files with 423 additions and 563 deletions
|
@ -7,6 +7,8 @@
|
|||
#import "Statistics.h"
|
||||
#import "UIColor+MapsMeColor.h"
|
||||
|
||||
#include "Framework.h"
|
||||
|
||||
#include "editor/server_api.hpp"
|
||||
|
||||
#include "indexer/osm_editor.hpp"
|
||||
|
@ -20,11 +22,9 @@ namespace
|
|||
NSString * const kWebViewAuthSegue = @"Authorization2WebViewAuthorizationSegue";
|
||||
NSString * const kOSMAuthSegue = @"Authorization2OSMAuthorizationSegue";
|
||||
|
||||
CGFloat const kUploadedChangesTopOffset = 48.;
|
||||
CGFloat const kStatusBarHeight = 20.;
|
||||
|
||||
// I don't use block here because there is big chance to get retain cycle and std::function syntax looks prety easy and cute.
|
||||
using TActionSheetFunctor = std::function<void()>;
|
||||
NSString * const kCancel = L(@"cancel");
|
||||
NSString * const kLogout = L(@"logout");
|
||||
NSString * const kRefresh = L(@"refresh");
|
||||
} // namespace
|
||||
|
||||
using namespace osm;
|
||||
|
@ -32,29 +32,20 @@ using namespace osm_auth_ios;
|
|||
|
||||
@interface MWMAuthorizationLoginViewController () <UIActionSheetDelegate>
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIView * changesView;
|
||||
@property (weak, nonatomic) IBOutlet UIView * authView;
|
||||
@property (weak, nonatomic) IBOutlet UIView * accountView;
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIButton * loginGoogleButton;
|
||||
@property (weak, nonatomic) IBOutlet UIButton * loginFacebookButton;
|
||||
@property (weak, nonatomic) IBOutlet UIButton * loginOSMButton;
|
||||
@property (weak, nonatomic) IBOutlet UIButton * signupButton;
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIButton * logoutButton;
|
||||
@property (weak, nonatomic) IBOutlet UILabel * changesCountLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel * lastUpdateLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel * rankLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel * changesToNextPlaceLabel;
|
||||
@property (weak, nonatomic) IBOutlet NSLayoutConstraint * yourPlaceLabelCenterYAlignment;
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIView * localChangesView;
|
||||
@property (weak, nonatomic) IBOutlet UILabel * localChangesLabel;
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIView * uploadedChangesView;
|
||||
@property (weak, nonatomic) IBOutlet UILabel * uploadedChangesLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel * lastUploadLabel;
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIView * emptyProfileView;
|
||||
|
||||
@property (weak, nonatomic) IBOutlet NSLayoutConstraint * uploadedChangesTop;
|
||||
@property (weak, nonatomic) IBOutlet NSLayoutConstraint * scrollViewContentHeight;
|
||||
|
||||
@property (nonatomic) TActionSheetFunctor actionSheetFunctor;
|
||||
@end
|
||||
|
||||
@implementation MWMAuthorizationLoginViewController
|
||||
|
@ -75,27 +66,6 @@ using namespace osm_auth_ios;
|
|||
[self configNoAuth];
|
||||
|
||||
AuthorizationSetNeedCheck(NO);
|
||||
|
||||
[self configChanges];
|
||||
[self configEmptyProfile];
|
||||
[self setContentHeight];
|
||||
}
|
||||
|
||||
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
|
||||
{
|
||||
[self setContentHeight];
|
||||
}
|
||||
|
||||
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
|
||||
{
|
||||
[self setContentHeight];
|
||||
}
|
||||
|
||||
- (void)setContentHeight
|
||||
{
|
||||
CGSize const size = [UIScreen mainScreen].bounds.size;
|
||||
CGFloat const height = MAX(size.width, size.height) - self.navigationController.navigationBar.height - kStatusBarHeight;
|
||||
self.scrollViewContentHeight.constant = height;
|
||||
}
|
||||
|
||||
- (void)checkConnection
|
||||
|
@ -121,61 +91,17 @@ using namespace osm_auth_ios;
|
|||
NSString * osmUserName = OSMUserName();
|
||||
self.title = osmUserName.length > 0 ? osmUserName : L(@"osm_account").capitalizedString;
|
||||
self.authView.hidden = YES;
|
||||
self.logoutButton.hidden = NO;
|
||||
self.accountView.hidden = NO;
|
||||
|
||||
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"•••" style:UIBarButtonItemStylePlain target:self action:@selector(showActionSheet)];
|
||||
[self refresh];
|
||||
}
|
||||
|
||||
- (void)configNoAuth
|
||||
{
|
||||
self.title = L(@"profile").capitalizedString;
|
||||
self.logoutButton.hidden = YES;
|
||||
self.authView.hidden = NO;
|
||||
}
|
||||
|
||||
- (void)configEmptyProfile
|
||||
{
|
||||
if (self.authView.hidden && self.changesView.hidden)
|
||||
self.emptyProfileView.hidden = NO;
|
||||
}
|
||||
|
||||
- (void)configChanges
|
||||
{
|
||||
auto const stats = Editor::Instance().GetStats();
|
||||
if (stats.m_edits.empty())
|
||||
{
|
||||
self.changesView.hidden = YES;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.changesView.hidden = NO;
|
||||
size_t const totalChanges = stats.m_edits.size();
|
||||
size_t const uploadedChanges = stats.m_uploadedCount;
|
||||
size_t const localChanges = totalChanges - uploadedChanges;
|
||||
|
||||
BOOL const noLocalChanges = (localChanges == 0);
|
||||
[self setLocalChangesHidden:noLocalChanges];
|
||||
|
||||
if (!noLocalChanges)
|
||||
self.localChangesLabel.text = [NSString stringWithFormat:@"%@ %@", L(@"editor_profile_unsent_changes"), @(localChanges)];
|
||||
|
||||
BOOL const noUploadedChanges = (uploadedChanges == 0) || !AuthorizationHaveCredentials();
|
||||
self.uploadedChangesView.hidden = noUploadedChanges;
|
||||
if (noUploadedChanges)
|
||||
return;
|
||||
|
||||
self.uploadedChangesLabel.text = [NSString stringWithFormat:@"%@ %@", L(@"editor_profile_changes"), @(uploadedChanges)];
|
||||
|
||||
NSString * lastUploadDate = [NSDateFormatter
|
||||
localizedStringFromDate:[NSDate dateWithTimeIntervalSince1970:stats.m_lastUploadTimestamp]
|
||||
dateStyle:NSDateFormatterShortStyle
|
||||
timeStyle:NSDateFormatterNoStyle];
|
||||
self.lastUploadLabel.text = [NSString stringWithFormat:@"%@ %@", L(@"last_upload"), lastUploadDate];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)setLocalChangesHidden:(BOOL)hidden
|
||||
{
|
||||
self.uploadedChangesView.hidden = hidden;
|
||||
self.uploadedChangesTop.constant = hidden ? 0 : kUploadedChangesTopOffset;
|
||||
self.accountView.hidden = YES;
|
||||
}
|
||||
|
||||
#pragma mark - Actions
|
||||
|
@ -224,58 +150,92 @@ using namespace osm_auth_ios;
|
|||
}];
|
||||
}
|
||||
|
||||
- (IBAction)logout:(UIButton *)sender
|
||||
- (IBAction)osmTap
|
||||
{
|
||||
self.actionSheetFunctor = [self]
|
||||
{
|
||||
[Statistics logEvent:kStatEventName(kStatAuthorization, kStatLogout)];
|
||||
AuthorizationStoreCredentials({});
|
||||
[self cancel];
|
||||
};
|
||||
[self showWarningActionSheetWithActionTitle:L(@"logout") sourceView:sender];
|
||||
NSURL * url = [NSURL URLWithString:@"https://wiki.openstreetmap.org/wiki/Main_Page"];
|
||||
UIApplication * app = [UIApplication sharedApplication];
|
||||
if ([app canOpenURL:url])
|
||||
[app openURL:url];
|
||||
}
|
||||
|
||||
- (IBAction)cancel
|
||||
- (void)logout
|
||||
{
|
||||
[Statistics logEvent:kStatEventName(kStatAuthorization, kStatLogout)];
|
||||
GetFramework().DropUserStats(OSMUserName().UTF8String);
|
||||
AuthorizationStoreCredentials({});
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
- (IBAction)localChangesAction:(UIButton *)sender
|
||||
- (void)refresh
|
||||
{
|
||||
self.actionSheetFunctor = [self]
|
||||
[self updateUI];
|
||||
__weak auto weakSelf = self;
|
||||
GetFramework().UpdateUserStats(OSMUserName().UTF8String, ^
|
||||
{
|
||||
Editor::Instance().ClearAllLocalEdits();
|
||||
[self configChanges];
|
||||
[self configEmptyProfile];
|
||||
};
|
||||
[self showWarningActionSheetWithActionTitle:L(@"delete") sourceView:sender];
|
||||
[weakSelf updateUI];
|
||||
});
|
||||
}
|
||||
|
||||
- (void)updateUI
|
||||
{
|
||||
editor::UserStats stats = GetFramework().GetUserStats(OSMUserName().UTF8String);
|
||||
if (!stats)
|
||||
return;
|
||||
int32_t changesCount;
|
||||
if (stats.GetChangesCount(changesCount))
|
||||
self.changesCountLabel.text = @(changesCount).stringValue;
|
||||
int32_t rank;
|
||||
if (stats.GetRank(rank))
|
||||
self.rankLabel.text = @(rank).stringValue;
|
||||
string levelUpFeat;
|
||||
if (stats.GetLevelUpRequiredFeat(levelUpFeat))
|
||||
{
|
||||
self.yourPlaceLabelCenterYAlignment.priority = UILayoutPriorityDefaultLow;
|
||||
self.changesToNextPlaceLabel.hidden = NO;
|
||||
self.changesToNextPlaceLabel.text =
|
||||
[NSString stringWithFormat:@"%@ %@", L(@"editor_profile_changes_for_next_place"),
|
||||
@(levelUpFeat.c_str())];
|
||||
}
|
||||
else
|
||||
{
|
||||
self.yourPlaceLabelCenterYAlignment.priority = UILayoutPriorityDefaultHigh;
|
||||
self.changesToNextPlaceLabel.hidden = YES;
|
||||
}
|
||||
|
||||
NSString * lastUploadDate = [NSDateFormatter
|
||||
localizedStringFromDate:[NSDate dateWithTimeIntervalSince1970:stats.GetLastUpdate()]
|
||||
dateStyle:NSDateFormatterShortStyle
|
||||
timeStyle:NSDateFormatterNoStyle];
|
||||
self.lastUpdateLabel.text =
|
||||
[NSString stringWithFormat:@"%@ %@", L(@"last_update"), lastUploadDate];
|
||||
}
|
||||
|
||||
#pragma mark - ActionSheet
|
||||
|
||||
- (void)showWarningActionSheetWithActionTitle:(NSString *)title sourceView:(UIView *)view
|
||||
- (void)showActionSheet
|
||||
{
|
||||
NSString * cancel = L(@"cancel");
|
||||
if (isIOS7)
|
||||
{
|
||||
UIActionSheet * actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:cancel destructiveButtonTitle:title otherButtonTitles:nil];
|
||||
UIActionSheet * actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:kCancel destructiveButtonTitle:kLogout otherButtonTitles:kRefresh, nil];
|
||||
[actionSheet showInView:self.view];
|
||||
}
|
||||
else
|
||||
{
|
||||
UIAlertController * alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
|
||||
UIAlertAction * cancelAction = [UIAlertAction actionWithTitle:cancel style:UIAlertActionStyleCancel handler:nil];
|
||||
UIAlertAction * commonAction = [UIAlertAction actionWithTitle:title style:UIAlertActionStyleDestructive handler:^(UIAlertAction * action)
|
||||
[alertController addAction:[UIAlertAction actionWithTitle:kRefresh style:UIAlertActionStyleDefault handler:^(UIAlertAction * action)
|
||||
{
|
||||
[self performActionSheetFunctor];
|
||||
}];
|
||||
[alertController addAction:cancelAction];
|
||||
[alertController addAction:commonAction];
|
||||
[self refresh];
|
||||
}]];
|
||||
[alertController addAction:[UIAlertAction actionWithTitle:kLogout style:UIAlertActionStyleDestructive handler:^(UIAlertAction * action)
|
||||
{
|
||||
[self logout];
|
||||
}]];
|
||||
[alertController addAction:[UIAlertAction actionWithTitle:kCancel style:UIAlertActionStyleCancel handler:nil]];
|
||||
|
||||
if (IPAD)
|
||||
{
|
||||
UIPopoverPresentationController * popPresenter = [alertController popoverPresentationController];
|
||||
popPresenter.sourceView = view;
|
||||
popPresenter.barButtonItem = self.navigationItem.rightBarButtonItem;
|
||||
}
|
||||
[self presentViewController:alertController animated:YES completion:nil];
|
||||
}
|
||||
|
@ -285,17 +245,10 @@ using namespace osm_auth_ios;
|
|||
|
||||
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
|
||||
{
|
||||
if (actionSheet.destructiveButtonIndex != buttonIndex)
|
||||
return;
|
||||
[self performActionSheetFunctor];
|
||||
}
|
||||
|
||||
- (void)performActionSheetFunctor
|
||||
{
|
||||
if (!self.actionSheetFunctor)
|
||||
return;
|
||||
self.actionSheetFunctor();
|
||||
self.actionSheetFunctor = nullptr;
|
||||
if (actionSheet.destructiveButtonIndex == buttonIndex)
|
||||
[self logout];
|
||||
else if ([[actionSheet buttonTitleAtIndex:buttonIndex] isEqualToString:kRefresh])
|
||||
[self refresh];
|
||||
}
|
||||
|
||||
#pragma mark - Segue
|
||||
|
|
|
@ -1249,469 +1249,373 @@
|
|||
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="iKi-eN-brO">
|
||||
<rect key="frame" x="0.0" y="20" width="600" height="580"/>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="S0n-BM-V4o" userLabel="Auth view">
|
||||
<rect key="frame" x="20" y="116" width="560" height="249"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="YBb-Op-jt9" userLabel="contentView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
|
||||
<subviews>
|
||||
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qmM-9t-aS0" userLabel="Empty profile view">
|
||||
<rect key="frame" x="16" y="40" width="568" height="278"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="img_profile_empty_light" translatesAutoresizingMaskIntoConstraints="NO" id="e2l-P3-VEv">
|
||||
<rect key="frame" x="184" y="0.0" width="200" height="200"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="200" id="GMT-cg-0fn"/>
|
||||
<constraint firstAttribute="width" constant="200" id="TVp-f8-pS5"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="mwm_name" value="img_profile_empty"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="552" translatesAutoresizingMaskIntoConstraints="NO" id="o6T-mk-245">
|
||||
<rect key="frame" x="8" y="220" width="552" height="21"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="15" id="8ae-3X-Zyn"/>
|
||||
<constraint firstAttribute="width" constant="552" id="uc1-SE-ctk"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="whitePrimaryText"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="medium20"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="editor_no_local_edits_description"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="552" translatesAutoresizingMaskIntoConstraints="NO" id="OrE-1s-ae6">
|
||||
<rect key="frame" x="8" y="257" width="552" height="21"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="15" id="9bh-ZR-dEg"/>
|
||||
<constraint firstAttribute="width" constant="552" id="UBa-Yp-6ML"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="whitePrimaryText"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular14"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="editor_no_local_edits_title"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="OrE-1s-ae6" secondAttribute="bottom" id="5Ox-ws-JlO"/>
|
||||
<constraint firstItem="OrE-1s-ae6" firstAttribute="centerX" secondItem="qmM-9t-aS0" secondAttribute="centerX" id="D3m-YD-MJ7"/>
|
||||
<constraint firstItem="e2l-P3-VEv" firstAttribute="top" secondItem="qmM-9t-aS0" secondAttribute="top" id="IlA-5v-0kP"/>
|
||||
<constraint firstItem="o6T-mk-245" firstAttribute="centerX" secondItem="qmM-9t-aS0" secondAttribute="centerX" id="ItS-zK-knS"/>
|
||||
<constraint firstItem="e2l-P3-VEv" firstAttribute="centerX" secondItem="qmM-9t-aS0" secondAttribute="centerX" id="QYh-cG-Srm"/>
|
||||
<constraint firstItem="o6T-mk-245" firstAttribute="top" secondItem="e2l-P3-VEv" secondAttribute="bottom" constant="20" id="Z6Q-mu-0iM"/>
|
||||
<constraint firstItem="OrE-1s-ae6" firstAttribute="top" secondItem="o6T-mk-245" secondAttribute="bottom" constant="16" id="tcK-Am-O99"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="NhV-I9-K6M" userLabel="Changes view">
|
||||
<rect key="frame" x="20" y="16" width="568" height="112"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="76x-zf-kIz" userLabel="Local Changes View">
|
||||
<rect key="frame" x="0.0" y="0.0" width="568" height="44"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic_device" translatesAutoresizingMaskIntoConstraints="NO" id="UJu-4R-Fgg">
|
||||
<rect key="frame" x="16" y="8" width="28" height="28"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="28" id="cQM-vC-1fk"/>
|
||||
<constraint firstAttribute="width" constant="28" id="rHn-pg-8lc"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="coloring" value="MWMBlue"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</imageView>
|
||||
<button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="IHU-D3-OHh" customClass="MWMButton">
|
||||
<rect key="frame" x="520" y="0.0" width="48" height="44"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="44" id="kpz-KB-mBX"/>
|
||||
<constraint firstAttribute="width" constant="48" id="o9U-Vc-W4w"/>
|
||||
</constraints>
|
||||
<state key="normal" image="ic_more"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="coloringName" value="MWMGray"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<action selector="localChangesAction:" destination="iZ6-Zi-bkZ" eventType="touchUpInside" id="4Gi-vX-ESJ"/>
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Changes: 4" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="444" translatesAutoresizingMaskIntoConstraints="NO" id="6t0-ph-htV">
|
||||
<rect key="frame" x="60" y="12" width="444" height="20"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="20" id="hSb-1t-KUe"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular17"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="blackPrimaryText"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="editor_profile_unsent_changes"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstItem="IHU-D3-OHh" firstAttribute="leading" secondItem="6t0-ph-htV" secondAttribute="trailing" constant="16" id="Bkl-rs-qm5"/>
|
||||
<constraint firstAttribute="height" constant="44" id="IC7-k9-WqX"/>
|
||||
<constraint firstItem="UJu-4R-Fgg" firstAttribute="leading" secondItem="76x-zf-kIz" secondAttribute="leading" constant="16" id="INw-m3-k4p"/>
|
||||
<constraint firstItem="6t0-ph-htV" firstAttribute="centerY" secondItem="76x-zf-kIz" secondAttribute="centerY" id="NC6-eR-D2q"/>
|
||||
<constraint firstItem="6t0-ph-htV" firstAttribute="leading" secondItem="UJu-4R-Fgg" secondAttribute="trailing" constant="16" id="SIR-fC-wDg"/>
|
||||
<constraint firstItem="UJu-4R-Fgg" firstAttribute="top" secondItem="76x-zf-kIz" secondAttribute="top" constant="8" id="Zf8-Th-bSi"/>
|
||||
<constraint firstAttribute="trailing" secondItem="IHU-D3-OHh" secondAttribute="trailing" id="iMQ-D5-wNi"/>
|
||||
<constraint firstItem="IHU-D3-OHh" firstAttribute="top" secondItem="76x-zf-kIz" secondAttribute="top" id="sJe-A3-6ua"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="8"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="white"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="CCh-RG-hju">
|
||||
<rect key="frame" x="0.0" y="48" width="568" height="64"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic_upload" translatesAutoresizingMaskIntoConstraints="NO" id="K0H-Ik-G96">
|
||||
<rect key="frame" x="16" y="18" width="28" height="28"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="28" id="2zO-ZT-uNm"/>
|
||||
<constraint firstAttribute="width" constant="28" id="Hco-pY-yYW"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="coloring" value="MWMBlue"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Changes: 2036" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="492" translatesAutoresizingMaskIntoConstraints="NO" id="AOM-R5-eiO">
|
||||
<rect key="frame" x="60" y="14" width="492" height="20"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="20" id="biE-B8-9Rd"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular17"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="blackPrimaryText"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Last upload 12.01.2015" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="444" translatesAutoresizingMaskIntoConstraints="NO" id="byf-d2-8rS">
|
||||
<rect key="frame" x="60" y="36" width="492" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="17" id="gDD-jR-Z7A"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="medium14"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="blackSecondaryText"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="AOM-R5-eiO" secondAttribute="trailing" constant="16" id="34h-f1-7SC"/>
|
||||
<constraint firstAttribute="trailing" secondItem="byf-d2-8rS" secondAttribute="trailing" constant="16" id="3fO-FU-fH7"/>
|
||||
<constraint firstItem="AOM-R5-eiO" firstAttribute="top" secondItem="CCh-RG-hju" secondAttribute="top" constant="14" id="854-Mf-1sN"/>
|
||||
<constraint firstAttribute="height" constant="64" id="8e7-AF-bMG"/>
|
||||
<constraint firstItem="K0H-Ik-G96" firstAttribute="leading" secondItem="CCh-RG-hju" secondAttribute="leading" constant="16" id="V90-Sy-Hjx"/>
|
||||
<constraint firstItem="byf-d2-8rS" firstAttribute="leading" secondItem="K0H-Ik-G96" secondAttribute="trailing" constant="16" id="XFm-fM-dg3"/>
|
||||
<constraint firstItem="K0H-Ik-G96" firstAttribute="top" secondItem="CCh-RG-hju" secondAttribute="top" constant="18" id="mWM-wY-cPT"/>
|
||||
<constraint firstItem="AOM-R5-eiO" firstAttribute="leading" secondItem="K0H-Ik-G96" secondAttribute="trailing" constant="16" id="pUD-3y-kR9"/>
|
||||
<constraint firstAttribute="bottom" secondItem="byf-d2-8rS" secondAttribute="bottom" constant="11" id="pdu-0r-bVJ"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="8"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="white"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstItem="CCh-RG-hju" firstAttribute="top" secondItem="NhV-I9-K6M" secondAttribute="top" constant="48" id="0Km-sC-aJd"/>
|
||||
<constraint firstItem="CCh-RG-hju" firstAttribute="leading" secondItem="NhV-I9-K6M" secondAttribute="leading" id="1CM-f1-eEs"/>
|
||||
<constraint firstItem="76x-zf-kIz" firstAttribute="top" secondItem="NhV-I9-K6M" secondAttribute="top" id="5Iw-Dl-pJ4"/>
|
||||
<constraint firstAttribute="trailing" secondItem="CCh-RG-hju" secondAttribute="trailing" id="QD9-MU-7Aq"/>
|
||||
<constraint firstItem="76x-zf-kIz" firstAttribute="leading" secondItem="NhV-I9-K6M" secondAttribute="leading" id="T2X-01-RYT"/>
|
||||
<constraint firstAttribute="trailing" secondItem="76x-zf-kIz" secondAttribute="trailing" id="ZVw-lC-TR2"/>
|
||||
<constraint firstAttribute="height" constant="112" id="ela-0h-AoD"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="S0n-BM-V4o" userLabel="Auth view">
|
||||
<rect key="frame" x="16" y="96" width="568" height="249"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="568" translatesAutoresizingMaskIntoConstraints="NO" id="tzz-yF-441">
|
||||
<rect key="frame" x="0.0" y="0.0" width="568" height="40"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="20" id="sq5-AS-HML"/>
|
||||
</constraints>
|
||||
<string key="text">Войдите, чтобы ваши изменения увидели
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tzz-yF-441">
|
||||
<rect key="frame" x="0.0" y="0.0" width="560" height="40"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="20" id="sq5-AS-HML"/>
|
||||
</constraints>
|
||||
<string key="text">Войдите, чтобы ваши изменения увидели
|
||||
другие пользователи</string>
|
||||
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="17"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="medium17"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="whitePrimaryText"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="login_to_make_edits_visible"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="MzH-tk-9iS" userLabel="Google btn">
|
||||
<rect key="frame" x="0.0" y="56" width="278" height="44"/>
|
||||
<subviews>
|
||||
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cT8-b7-zTj">
|
||||
<rect key="frame" x="0.0" y="0.0" width="278" height="44"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<state key="normal" title="Google">
|
||||
<color key="titleColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular17"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="8"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
|
||||
<integer key="value" value="1"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="layer.borderUIColor">
|
||||
<color key="value" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="calibratedRGB"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<action selector="loginGoogle" destination="iZ6-Zi-bkZ" eventType="touchUpInside" id="ozK-l5-X1m"/>
|
||||
</connections>
|
||||
</button>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="login_google" translatesAutoresizingMaskIntoConstraints="NO" id="VTY-T1-l6q">
|
||||
<rect key="frame" x="12" y="8" width="28" height="28"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="28" id="7sp-hE-lQy"/>
|
||||
<constraint firstAttribute="height" constant="28" id="lYn-b1-63D"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstItem="VTY-T1-l6q" firstAttribute="top" secondItem="MzH-tk-9iS" secondAttribute="top" constant="8" id="PSG-RC-UTK"/>
|
||||
<constraint firstAttribute="height" constant="44" id="X9t-ER-03M"/>
|
||||
<constraint firstItem="cT8-b7-zTj" firstAttribute="top" secondItem="MzH-tk-9iS" secondAttribute="top" id="cow-i1-Rdm"/>
|
||||
<constraint firstAttribute="bottom" secondItem="cT8-b7-zTj" secondAttribute="bottom" id="jbE-Mq-MJR"/>
|
||||
<constraint firstItem="cT8-b7-zTj" firstAttribute="leading" secondItem="MzH-tk-9iS" secondAttribute="leading" id="nNL-Cq-Up9"/>
|
||||
<constraint firstAttribute="trailing" secondItem="cT8-b7-zTj" secondAttribute="trailing" id="rdf-T1-cRg"/>
|
||||
<constraint firstItem="VTY-T1-l6q" firstAttribute="leading" secondItem="MzH-tk-9iS" secondAttribute="leading" constant="12" id="vUP-Ej-L30"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="y6o-0o-dz7" userLabel="FB btn">
|
||||
<rect key="frame" x="290" y="56" width="278" height="44"/>
|
||||
<subviews>
|
||||
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="U4B-pb-aFf">
|
||||
<rect key="frame" x="0.0" y="0.0" width="278" height="44"/>
|
||||
<color key="backgroundColor" red="0.026881167763157895" green="0.0" blue="0.93857935855263153" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<state key="normal" title="Facebook"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular17"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="8"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
|
||||
<integer key="value" value="1"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="layer.borderUIColor">
|
||||
<color key="value" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="calibratedRGB"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<action selector="loginFacebook" destination="iZ6-Zi-bkZ" eventType="touchUpInside" id="osd-dp-2jK"/>
|
||||
</connections>
|
||||
</button>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="login_facebook" translatesAutoresizingMaskIntoConstraints="NO" id="bGN-fy-oFg">
|
||||
<rect key="frame" x="12" y="8" width="28" height="28"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="28" id="kNG-X2-lZ8"/>
|
||||
<constraint firstAttribute="height" constant="28" id="vzD-Ed-9X7"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstItem="bGN-fy-oFg" firstAttribute="top" secondItem="y6o-0o-dz7" secondAttribute="top" constant="8" id="LOd-HZ-bTJ"/>
|
||||
<constraint firstAttribute="trailing" secondItem="U4B-pb-aFf" secondAttribute="trailing" id="aWL-hw-cpk"/>
|
||||
<constraint firstItem="bGN-fy-oFg" firstAttribute="leading" secondItem="y6o-0o-dz7" secondAttribute="leading" constant="12" id="cpf-Rx-9Er"/>
|
||||
<constraint firstAttribute="bottom" secondItem="U4B-pb-aFf" secondAttribute="bottom" id="gTc-cd-mkR"/>
|
||||
<constraint firstItem="U4B-pb-aFf" firstAttribute="top" secondItem="y6o-0o-dz7" secondAttribute="top" id="lF0-Iz-WoN"/>
|
||||
<constraint firstItem="U4B-pb-aFf" firstAttribute="leading" secondItem="y6o-0o-dz7" secondAttribute="leading" id="pUz-vb-zDW"/>
|
||||
<constraint firstAttribute="height" constant="44" id="zwq-5V-dGB"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Gqm-JS-hos">
|
||||
<rect key="frame" x="0.0" y="112" width="568" height="44"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="44" id="BfT-9z-7iV"/>
|
||||
</constraints>
|
||||
<state key="normal" title="OpenStreetMap"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular17"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="8"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
|
||||
<integer key="value" value="1"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="layer.borderUIColor">
|
||||
<color key="value" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="calibratedRGB"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<action selector="loginOSM" destination="iZ6-Zi-bkZ" eventType="touchUpInside" id="U8A-dL-xzX"/>
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Don't have OpenStreetMap account?" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="568" translatesAutoresizingMaskIntoConstraints="NO" id="nhm-W1-U8A">
|
||||
<rect key="frame" x="0.0" y="180" width="568" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="16" id="ntS-Lm-ZFB"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="14"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular14"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="whitePrimaryText"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="no_osm_account"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="s0p-dL-PG8">
|
||||
<rect key="frame" x="0.0" y="205" width="568" height="44"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="44" id="4EG-ux-LH6"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Sign Up Now"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular17"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="textColorName" value="whitePrimaryText"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="textColorHighlightedName" value="whitePrimaryTextHighlighted"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="clearColor"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="register_at_openstreetmap"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<action selector="signup" destination="iZ6-Zi-bkZ" eventType="touchUpInside" id="jMD-gB-R6e"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstItem="y6o-0o-dz7" firstAttribute="width" secondItem="MzH-tk-9iS" secondAttribute="width" id="0rS-To-gGZ"/>
|
||||
<constraint firstAttribute="trailing" secondItem="nhm-W1-U8A" secondAttribute="trailing" id="1tj-If-gNH"/>
|
||||
<constraint firstItem="s0p-dL-PG8" firstAttribute="leading" secondItem="S0n-BM-V4o" secondAttribute="leading" id="6ve-gW-sY4"/>
|
||||
<constraint firstItem="nhm-W1-U8A" firstAttribute="leading" secondItem="S0n-BM-V4o" secondAttribute="leading" id="7Ei-dL-0sY"/>
|
||||
<constraint firstItem="Gqm-JS-hos" firstAttribute="top" secondItem="y6o-0o-dz7" secondAttribute="bottom" constant="12" id="Aq8-ex-HQZ"/>
|
||||
<constraint firstItem="tzz-yF-441" firstAttribute="leading" secondItem="S0n-BM-V4o" secondAttribute="leading" id="BXe-q8-WSf"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Gqm-JS-hos" secondAttribute="trailing" id="Bmb-Hs-40s"/>
|
||||
<constraint firstAttribute="trailing" secondItem="y6o-0o-dz7" secondAttribute="trailing" id="IdJ-zH-f1O"/>
|
||||
<constraint firstItem="nhm-W1-U8A" firstAttribute="top" secondItem="Gqm-JS-hos" secondAttribute="bottom" constant="24" id="LEz-aI-70A"/>
|
||||
<constraint firstItem="tzz-yF-441" firstAttribute="top" secondItem="S0n-BM-V4o" secondAttribute="top" id="Tfx-ro-4f5"/>
|
||||
<constraint firstItem="y6o-0o-dz7" firstAttribute="leading" secondItem="MzH-tk-9iS" secondAttribute="trailing" constant="12" id="bwf-Ko-us1"/>
|
||||
<constraint firstItem="MzH-tk-9iS" firstAttribute="leading" secondItem="S0n-BM-V4o" secondAttribute="leading" id="c0m-nd-K22"/>
|
||||
<constraint firstItem="y6o-0o-dz7" firstAttribute="top" secondItem="tzz-yF-441" secondAttribute="bottom" constant="16" id="cwS-6P-cG8"/>
|
||||
<constraint firstItem="s0p-dL-PG8" firstAttribute="top" secondItem="nhm-W1-U8A" secondAttribute="bottom" constant="8" id="f1G-qk-ZxV"/>
|
||||
<constraint firstAttribute="trailing" secondItem="tzz-yF-441" secondAttribute="trailing" id="itw-Vw-hX3"/>
|
||||
<constraint firstAttribute="bottom" secondItem="s0p-dL-PG8" secondAttribute="bottom" id="ixM-kI-0RH"/>
|
||||
<constraint firstItem="Gqm-JS-hos" firstAttribute="leading" secondItem="S0n-BM-V4o" secondAttribute="leading" id="oZr-Ac-QKa"/>
|
||||
<constraint firstItem="MzH-tk-9iS" firstAttribute="top" secondItem="tzz-yF-441" secondAttribute="bottom" constant="16" id="tEx-sE-uOu"/>
|
||||
<constraint firstAttribute="trailing" secondItem="s0p-dL-PG8" secondAttribute="trailing" id="tZN-SO-5WH"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Swf-Rn-H3g">
|
||||
<rect key="frame" x="20" y="544" width="568" height="44"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="44" id="nuD-Ig-YjK"/>
|
||||
<constraint firstAttribute="height" constant="44" id="wgR-y8-L89"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Log Out"/>
|
||||
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="17"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="medium17"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="whitePrimaryText"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="login_to_make_edits_visible"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="MzH-tk-9iS" userLabel="Google btn">
|
||||
<rect key="frame" x="0.0" y="56" width="274" height="44"/>
|
||||
<subviews>
|
||||
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cT8-b7-zTj">
|
||||
<rect key="frame" x="0.0" y="0.0" width="274" height="44"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<inset key="titleEdgeInsets" minX="20" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" title="Google">
|
||||
<color key="titleColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular17"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="textColorName" value="whitePrimaryText"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="textColorHighlightedName" value="whitePrimaryTextHighlighted"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="clearColor"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="logout"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="8"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
|
||||
<integer key="value" value="1"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="layer.borderColorName" value="whitePrimaryText"/>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="layer.borderUIColor">
|
||||
<color key="value" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="calibratedRGB"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<action selector="logout:" destination="iZ6-Zi-bkZ" eventType="touchUpInside" id="FcC-iH-0c0"/>
|
||||
<action selector="loginGoogle" destination="iZ6-Zi-bkZ" eventType="touchUpInside" id="ozK-l5-X1m"/>
|
||||
</connections>
|
||||
</button>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="login_google" translatesAutoresizingMaskIntoConstraints="NO" id="VTY-T1-l6q">
|
||||
<rect key="frame" x="12" y="8" width="28" height="28"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="28" id="7sp-hE-lQy"/>
|
||||
<constraint firstAttribute="height" constant="28" id="lYn-b1-63D"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="qmM-9t-aS0" secondAttribute="trailing" constant="16" id="1Od-p5-8e0"/>
|
||||
<constraint firstItem="S0n-BM-V4o" firstAttribute="top" secondItem="YBb-Op-jt9" secondAttribute="top" constant="96" id="2cN-Zu-cbN"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Swf-Rn-H3g" secondAttribute="trailing" constant="12" id="BeZ-Um-N2J"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Swf-Rn-H3g" secondAttribute="bottom" constant="12" id="Kp2-li-yC7"/>
|
||||
<constraint firstItem="NhV-I9-K6M" firstAttribute="leading" secondItem="YBb-Op-jt9" secondAttribute="leading" constant="20" id="P0J-zr-wVr"/>
|
||||
<constraint firstItem="qmM-9t-aS0" firstAttribute="leading" secondItem="YBb-Op-jt9" secondAttribute="leading" constant="16" id="Q0X-Im-EBz"/>
|
||||
<constraint firstAttribute="trailing" secondItem="S0n-BM-V4o" secondAttribute="trailing" constant="16" id="T9b-2e-Krf"/>
|
||||
<constraint firstItem="Swf-Rn-H3g" firstAttribute="leading" secondItem="YBb-Op-jt9" secondAttribute="leading" constant="20" id="aH5-Iq-fIZ"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Swf-Rn-H3g" secondAttribute="bottom" constant="12" id="izw-7u-WX0"/>
|
||||
<constraint firstItem="qmM-9t-aS0" firstAttribute="top" secondItem="YBb-Op-jt9" secondAttribute="top" constant="40" id="lxR-oy-eBb"/>
|
||||
<constraint firstItem="Swf-Rn-H3g" firstAttribute="leading" secondItem="YBb-Op-jt9" secondAttribute="leading" constant="20" id="oHC-PU-oOR"/>
|
||||
<constraint firstItem="NhV-I9-K6M" firstAttribute="top" secondItem="YBb-Op-jt9" secondAttribute="top" constant="16" id="sqM-bX-m2V"/>
|
||||
<constraint firstItem="qmM-9t-aS0" firstAttribute="centerX" secondItem="YBb-Op-jt9" secondAttribute="centerX" id="uXt-Kv-pFd"/>
|
||||
<constraint firstAttribute="height" constant="600" id="w1I-mi-hQq"/>
|
||||
<constraint firstItem="S0n-BM-V4o" firstAttribute="leading" secondItem="YBb-Op-jt9" secondAttribute="leading" constant="16" id="xnz-4R-L7R"/>
|
||||
<constraint firstAttribute="trailing" secondItem="NhV-I9-K6M" secondAttribute="trailing" constant="12" id="yLL-6w-S3m"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Swf-Rn-H3g" secondAttribute="trailing" constant="12" id="zIO-ik-drJ"/>
|
||||
<constraint firstItem="S0n-BM-V4o" firstAttribute="centerX" secondItem="YBb-Op-jt9" secondAttribute="centerX" id="zfK-Xc-Ffj"/>
|
||||
<constraint firstItem="VTY-T1-l6q" firstAttribute="top" secondItem="MzH-tk-9iS" secondAttribute="top" constant="8" id="PSG-RC-UTK"/>
|
||||
<constraint firstAttribute="height" constant="44" id="X9t-ER-03M"/>
|
||||
<constraint firstItem="cT8-b7-zTj" firstAttribute="top" secondItem="MzH-tk-9iS" secondAttribute="top" id="cow-i1-Rdm"/>
|
||||
<constraint firstAttribute="bottom" secondItem="cT8-b7-zTj" secondAttribute="bottom" id="jbE-Mq-MJR"/>
|
||||
<constraint firstItem="cT8-b7-zTj" firstAttribute="leading" secondItem="MzH-tk-9iS" secondAttribute="leading" id="nNL-Cq-Up9"/>
|
||||
<constraint firstAttribute="trailing" secondItem="cT8-b7-zTj" secondAttribute="trailing" id="rdf-T1-cRg"/>
|
||||
<constraint firstItem="VTY-T1-l6q" firstAttribute="leading" secondItem="MzH-tk-9iS" secondAttribute="leading" constant="12" id="vUP-Ej-L30"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="y6o-0o-dz7" userLabel="FB btn">
|
||||
<rect key="frame" x="286" y="56" width="274" height="44"/>
|
||||
<subviews>
|
||||
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="U4B-pb-aFf">
|
||||
<rect key="frame" x="0.0" y="0.0" width="274" height="44"/>
|
||||
<color key="backgroundColor" red="0.026881167763157895" green="0.0" blue="0.93857935855263153" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<inset key="titleEdgeInsets" minX="20" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" title="Facebook"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular17"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="8"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
|
||||
<integer key="value" value="1"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="layer.borderUIColor">
|
||||
<color key="value" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="calibratedRGB"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<action selector="loginFacebook" destination="iZ6-Zi-bkZ" eventType="touchUpInside" id="osd-dp-2jK"/>
|
||||
</connections>
|
||||
</button>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="login_facebook" translatesAutoresizingMaskIntoConstraints="NO" id="bGN-fy-oFg">
|
||||
<rect key="frame" x="12" y="8" width="28" height="28"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="28" id="kNG-X2-lZ8"/>
|
||||
<constraint firstAttribute="height" constant="28" id="vzD-Ed-9X7"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstItem="bGN-fy-oFg" firstAttribute="top" secondItem="y6o-0o-dz7" secondAttribute="top" constant="8" id="LOd-HZ-bTJ"/>
|
||||
<constraint firstAttribute="trailing" secondItem="U4B-pb-aFf" secondAttribute="trailing" id="aWL-hw-cpk"/>
|
||||
<constraint firstItem="bGN-fy-oFg" firstAttribute="leading" secondItem="y6o-0o-dz7" secondAttribute="leading" constant="12" id="cpf-Rx-9Er"/>
|
||||
<constraint firstAttribute="bottom" secondItem="U4B-pb-aFf" secondAttribute="bottom" id="gTc-cd-mkR"/>
|
||||
<constraint firstItem="U4B-pb-aFf" firstAttribute="top" secondItem="y6o-0o-dz7" secondAttribute="top" id="lF0-Iz-WoN"/>
|
||||
<constraint firstItem="U4B-pb-aFf" firstAttribute="leading" secondItem="y6o-0o-dz7" secondAttribute="leading" id="pUz-vb-zDW"/>
|
||||
<constraint firstAttribute="height" constant="44" id="zwq-5V-dGB"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Gqm-JS-hos">
|
||||
<rect key="frame" x="0.0" y="112" width="560" height="44"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="44" id="BfT-9z-7iV"/>
|
||||
</constraints>
|
||||
<state key="normal" title="OpenStreetMap"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular17"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="8"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
|
||||
<integer key="value" value="1"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="layer.borderUIColor">
|
||||
<color key="value" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="calibratedRGB"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<action selector="loginOSM" destination="iZ6-Zi-bkZ" eventType="touchUpInside" id="U8A-dL-xzX"/>
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Don't have OpenStreetMap account?" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nhm-W1-U8A">
|
||||
<rect key="frame" x="0.0" y="180" width="560" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="16" id="ntS-Lm-ZFB"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="14"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular14"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="whitePrimaryText"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="no_osm_account"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="s0p-dL-PG8">
|
||||
<rect key="frame" x="0.0" y="205" width="560" height="44"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="44" id="4EG-ux-LH6"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Sign Up Now"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular17"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="textColorName" value="whitePrimaryText"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="textColorHighlightedName" value="whitePrimaryTextHighlighted"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="clearColor"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="register_at_openstreetmap"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<action selector="signup" destination="iZ6-Zi-bkZ" eventType="touchUpInside" id="jMD-gB-R6e"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="YBb-Op-jt9" secondAttribute="bottom" id="04w-On-GOf"/>
|
||||
<constraint firstItem="YBb-Op-jt9" firstAttribute="centerX" secondItem="iKi-eN-brO" secondAttribute="centerX" id="OVE-Ea-UP9"/>
|
||||
<constraint firstItem="YBb-Op-jt9" firstAttribute="top" secondItem="iKi-eN-brO" secondAttribute="top" id="csD-U1-nGy"/>
|
||||
<constraint firstItem="YBb-Op-jt9" firstAttribute="leading" secondItem="iKi-eN-brO" secondAttribute="leading" id="kEa-pY-gWe"/>
|
||||
<constraint firstAttribute="trailing" secondItem="YBb-Op-jt9" secondAttribute="trailing" id="uHC-b4-YFN"/>
|
||||
<constraint firstItem="y6o-0o-dz7" firstAttribute="width" secondItem="MzH-tk-9iS" secondAttribute="width" id="0rS-To-gGZ"/>
|
||||
<constraint firstAttribute="trailing" secondItem="nhm-W1-U8A" secondAttribute="trailing" id="1tj-If-gNH"/>
|
||||
<constraint firstItem="s0p-dL-PG8" firstAttribute="leading" secondItem="S0n-BM-V4o" secondAttribute="leading" id="6ve-gW-sY4"/>
|
||||
<constraint firstItem="nhm-W1-U8A" firstAttribute="leading" secondItem="S0n-BM-V4o" secondAttribute="leading" id="7Ei-dL-0sY"/>
|
||||
<constraint firstItem="Gqm-JS-hos" firstAttribute="top" secondItem="y6o-0o-dz7" secondAttribute="bottom" constant="12" id="Aq8-ex-HQZ"/>
|
||||
<constraint firstItem="tzz-yF-441" firstAttribute="leading" secondItem="S0n-BM-V4o" secondAttribute="leading" id="BXe-q8-WSf"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Gqm-JS-hos" secondAttribute="trailing" id="Bmb-Hs-40s"/>
|
||||
<constraint firstAttribute="trailing" secondItem="y6o-0o-dz7" secondAttribute="trailing" id="IdJ-zH-f1O"/>
|
||||
<constraint firstItem="nhm-W1-U8A" firstAttribute="top" secondItem="Gqm-JS-hos" secondAttribute="bottom" constant="24" id="LEz-aI-70A"/>
|
||||
<constraint firstItem="tzz-yF-441" firstAttribute="top" secondItem="S0n-BM-V4o" secondAttribute="top" id="Tfx-ro-4f5"/>
|
||||
<constraint firstItem="y6o-0o-dz7" firstAttribute="leading" secondItem="MzH-tk-9iS" secondAttribute="trailing" constant="12" id="bwf-Ko-us1"/>
|
||||
<constraint firstItem="MzH-tk-9iS" firstAttribute="leading" secondItem="S0n-BM-V4o" secondAttribute="leading" id="c0m-nd-K22"/>
|
||||
<constraint firstItem="y6o-0o-dz7" firstAttribute="top" secondItem="tzz-yF-441" secondAttribute="bottom" constant="16" id="cwS-6P-cG8"/>
|
||||
<constraint firstItem="s0p-dL-PG8" firstAttribute="top" secondItem="nhm-W1-U8A" secondAttribute="bottom" constant="8" id="f1G-qk-ZxV"/>
|
||||
<constraint firstAttribute="trailing" secondItem="tzz-yF-441" secondAttribute="trailing" id="itw-Vw-hX3"/>
|
||||
<constraint firstAttribute="bottom" secondItem="s0p-dL-PG8" secondAttribute="bottom" id="ixM-kI-0RH"/>
|
||||
<constraint firstItem="Gqm-JS-hos" firstAttribute="leading" secondItem="S0n-BM-V4o" secondAttribute="leading" id="oZr-Ac-QKa"/>
|
||||
<constraint firstItem="MzH-tk-9iS" firstAttribute="top" secondItem="tzz-yF-441" secondAttribute="bottom" constant="16" id="tEx-sE-uOu"/>
|
||||
<constraint firstAttribute="trailing" secondItem="s0p-dL-PG8" secondAttribute="trailing" id="tZN-SO-5WH"/>
|
||||
</constraints>
|
||||
</scrollView>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qZp-mj-lui" userLabel="Account view">
|
||||
<rect key="frame" x="0.0" y="20" width="600" height="580"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="WGF-rs-oH8" userLabel="Main view">
|
||||
<rect key="frame" x="0.0" y="0.0" width="600" height="212"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="−−−" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5mN-XO-0Df">
|
||||
<rect key="frame" x="16" y="32" width="568" height="114"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="114" id="LK9-Pd-uVa">
|
||||
<variation key="heightClass=compact" constant="67"/>
|
||||
</constraint>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="96"/>
|
||||
<color key="textColor" red="0.96078431369999995" green="0.96078431369999995" blue="0.96078431369999995" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="whitePrimaryText"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<variation key="heightClass=compact-widthClass=compact">
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="56"/>
|
||||
</variation>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="VERIFIED CHANGES" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="61G-Rv-3df">
|
||||
<rect key="frame" x="20" y="146" width="560" height="17"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="14"/>
|
||||
<color key="textColor" red="0.96078431369999995" green="0.96078431369999995" blue="0.96078431369999995" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="bold14"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="whitePrimaryText"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="#VERIFIED CHANGES#"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Last send 12.01.2015" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2UV-ZB-sPO">
|
||||
<rect key="frame" x="0.0" y="171" width="600" height="15"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="1" green="1" blue="1" alpha="0.40000000000000002" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular12"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="whiteSecondaryText"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="last_upload"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.1176470588" green="0.58823529409999997" blue="0.31372549020000001" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="5mN-XO-0Df" firstAttribute="top" secondItem="WGF-rs-oH8" secondAttribute="top" constant="32" id="0K3-rp-7d2">
|
||||
<variation key="heightClass=compact" constant="0.0"/>
|
||||
</constraint>
|
||||
<constraint firstItem="2UV-ZB-sPO" firstAttribute="leading" secondItem="WGF-rs-oH8" secondAttribute="leading" id="AGA-f3-rF6"/>
|
||||
<constraint firstItem="61G-Rv-3df" firstAttribute="top" secondItem="5mN-XO-0Df" secondAttribute="bottom" id="f9h-1H-6HT"/>
|
||||
<constraint firstItem="5mN-XO-0Df" firstAttribute="leading" secondItem="WGF-rs-oH8" secondAttribute="leading" constant="16" id="gxd-OE-22s"/>
|
||||
<constraint firstItem="61G-Rv-3df" firstAttribute="leading" secondItem="WGF-rs-oH8" secondAttribute="leading" constant="20" id="mv3-Lh-cOw"/>
|
||||
<constraint firstItem="2UV-ZB-sPO" firstAttribute="top" secondItem="61G-Rv-3df" secondAttribute="bottom" constant="8" id="u1s-ZY-7CV"/>
|
||||
<constraint firstAttribute="trailing" secondItem="61G-Rv-3df" secondAttribute="trailing" constant="20" id="yO9-AG-xmw"/>
|
||||
<constraint firstAttribute="trailing" secondItem="2UV-ZB-sPO" secondAttribute="trailing" id="ybr-ki-kQ3"/>
|
||||
<constraint firstAttribute="trailing" secondItem="5mN-XO-0Df" secondAttribute="trailing" constant="16" id="yt1-Bf-pdB"/>
|
||||
<constraint firstAttribute="height" constant="212" id="zGh-R9-Qqk">
|
||||
<variation key="heightClass=compact" constant="128"/>
|
||||
</constraint>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="primary"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7f3-Rm-QqW" userLabel="Detailed info">
|
||||
<rect key="frame" x="0.0" y="248" width="600" height="64"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="−−−" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JuL-pe-mJl">
|
||||
<rect key="frame" x="16" y="16" width="52" height="32"/>
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="27"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.54000000000000004" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="medium28"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="blackSecondaryText"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Your Place" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ksi-Oz-YxU">
|
||||
<rect key="frame" x="84" y="12" width="83" height="21"/>
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.87" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="medium17"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="blackPrimaryText"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="#Your Place#"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Changes to the next place: −−−" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wuZ-au-bo9">
|
||||
<rect key="frame" x="84" y="35" width="204" height="17"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.54000000000000004" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular14"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="colorName" value="blackSecondaryText"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="#Changes to the next place:#"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstItem="ksi-Oz-YxU" firstAttribute="leading" secondItem="JuL-pe-mJl" secondAttribute="trailing" constant="16" id="AhN-ts-4gy"/>
|
||||
<constraint firstItem="JuL-pe-mJl" firstAttribute="centerY" secondItem="7f3-Rm-QqW" secondAttribute="centerY" id="Ope-fZ-TUA"/>
|
||||
<constraint firstAttribute="height" constant="64" id="d1D-4g-rUC"/>
|
||||
<constraint firstItem="wuZ-au-bo9" firstAttribute="leading" secondItem="JuL-pe-mJl" secondAttribute="trailing" constant="16" id="g46-1s-aFv"/>
|
||||
<constraint firstItem="ksi-Oz-YxU" firstAttribute="centerY" secondItem="7f3-Rm-QqW" secondAttribute="centerY" priority="250" id="qaH-U1-XpF"/>
|
||||
<constraint firstAttribute="bottom" secondItem="wuZ-au-bo9" secondAttribute="bottom" constant="12" id="rk0-ju-MtU"/>
|
||||
<constraint firstItem="JuL-pe-mJl" firstAttribute="leading" secondItem="7f3-Rm-QqW" secondAttribute="leading" constant="16" id="uQL-79-8Oz"/>
|
||||
<constraint firstItem="ksi-Oz-YxU" firstAttribute="top" secondItem="7f3-Rm-QqW" secondAttribute="top" priority="500" constant="12" id="w48-Zm-FvN"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="bottom" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7m7-zW-Tcq">
|
||||
<rect key="frame" x="20" y="540" width="560" height="20"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="20" id="Z6L-ma-g9a"/>
|
||||
</constraints>
|
||||
<state key="normal" title="More about OpenStreetMap"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="editor_more_about_osm"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular14"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="textColorName" value="linkBlue"/>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="textColorHighlightedName" value="linkBlueHighlighted"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<action selector="osmTap" destination="iZ6-Zi-bkZ" eventType="touchUpInside" id="BXZ-nq-gjL"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.96078431372549022" green="0.96078431372549022" blue="0.96078431372549022" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="WGF-rs-oH8" firstAttribute="leading" secondItem="qZp-mj-lui" secondAttribute="leading" id="49S-ia-ak6"/>
|
||||
<constraint firstItem="WGF-rs-oH8" firstAttribute="top" secondItem="qZp-mj-lui" secondAttribute="top" id="F1A-oD-eOM"/>
|
||||
<constraint firstAttribute="trailing" secondItem="7m7-zW-Tcq" secondAttribute="trailing" constant="20" id="R0b-kc-lqD"/>
|
||||
<constraint firstItem="7f3-Rm-QqW" firstAttribute="leading" secondItem="qZp-mj-lui" secondAttribute="leading" id="Rl3-Ro-sv6"/>
|
||||
<constraint firstAttribute="trailing" secondItem="7f3-Rm-QqW" secondAttribute="trailing" id="Tgr-9w-YGC"/>
|
||||
<constraint firstItem="7f3-Rm-QqW" firstAttribute="top" secondItem="WGF-rs-oH8" secondAttribute="bottom" constant="36" id="iCv-yg-gKX">
|
||||
<variation key="heightClass=compact" constant="16"/>
|
||||
</constraint>
|
||||
<constraint firstItem="7m7-zW-Tcq" firstAttribute="leading" secondItem="qZp-mj-lui" secondAttribute="leading" constant="20" id="lpB-qb-8un"/>
|
||||
<constraint firstAttribute="trailing" secondItem="WGF-rs-oH8" secondAttribute="trailing" id="n8x-zU-lXP"/>
|
||||
<constraint firstAttribute="bottom" secondItem="7m7-zW-Tcq" secondAttribute="bottom" constant="20" id="yVL-CJ-bcb">
|
||||
<variation key="heightClass=compact" constant="12"/>
|
||||
</constraint>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="pressBackground"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.1176470588" green="0.58823529409999997" blue="0.31372549020000001" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="iKi-eN-brO" firstAttribute="top" secondItem="Yup-ms-er9" secondAttribute="bottom" id="GmV-KH-WX3"/>
|
||||
<constraint firstItem="y41-VX-XhB" firstAttribute="top" secondItem="iKi-eN-brO" secondAttribute="bottom" id="foi-KQ-2tL"/>
|
||||
<constraint firstAttribute="trailing" secondItem="iKi-eN-brO" secondAttribute="trailing" id="lxi-d5-Mix"/>
|
||||
<constraint firstItem="iKi-eN-brO" firstAttribute="leading" secondItem="i64-CY-UO1" secondAttribute="leading" id="qZP-zI-3Gk"/>
|
||||
<constraint firstItem="y41-VX-XhB" firstAttribute="top" secondItem="qZp-mj-lui" secondAttribute="bottom" id="11a-17-5z7"/>
|
||||
<constraint firstItem="qZp-mj-lui" firstAttribute="top" secondItem="Yup-ms-er9" secondAttribute="bottom" id="1LV-nh-oGb"/>
|
||||
<constraint firstAttribute="trailing" secondItem="S0n-BM-V4o" secondAttribute="trailing" constant="20" id="Rg1-Lp-MOi"/>
|
||||
<constraint firstItem="S0n-BM-V4o" firstAttribute="centerX" secondItem="i64-CY-UO1" secondAttribute="centerX" id="hiF-Gl-4BZ"/>
|
||||
<constraint firstAttribute="trailing" secondItem="qZp-mj-lui" secondAttribute="trailing" id="l4J-0M-bwW"/>
|
||||
<constraint firstItem="S0n-BM-V4o" firstAttribute="leading" secondItem="i64-CY-UO1" secondAttribute="leading" constant="20" id="p8d-aP-wx0"/>
|
||||
<constraint firstItem="qZp-mj-lui" firstAttribute="leading" secondItem="i64-CY-UO1" secondAttribute="leading" id="szu-H2-kce"/>
|
||||
<constraint firstItem="S0n-BM-V4o" firstAttribute="top" secondItem="Yup-ms-er9" secondAttribute="bottom" constant="96" id="ts0-lk-o7V">
|
||||
<variation key="heightClass=compact" constant="16"/>
|
||||
</constraint>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="backgroundColorName" value="primary"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<connections>
|
||||
<outlet property="accountView" destination="qZp-mj-lui" id="Iin-Uf-uWe"/>
|
||||
<outlet property="authView" destination="S0n-BM-V4o" id="pei-fj-H81"/>
|
||||
<outlet property="changesView" destination="NhV-I9-K6M" id="rAf-gd-z6l"/>
|
||||
<outlet property="emptyProfileView" destination="qmM-9t-aS0" id="PcV-ha-4j5"/>
|
||||
<outlet property="lastUploadLabel" destination="byf-d2-8rS" id="zUr-9t-H02"/>
|
||||
<outlet property="localChangesLabel" destination="6t0-ph-htV" id="4io-4R-QlC"/>
|
||||
<outlet property="localChangesView" destination="76x-zf-kIz" id="0kI-AG-WLp"/>
|
||||
<outlet property="changesCountLabel" destination="5mN-XO-0Df" id="bcc-Gp-vgH"/>
|
||||
<outlet property="changesToNextPlaceLabel" destination="wuZ-au-bo9" id="aw3-G0-edF"/>
|
||||
<outlet property="lastUpdateLabel" destination="2UV-ZB-sPO" id="CCE-Q5-ikN"/>
|
||||
<outlet property="loginFacebookButton" destination="U4B-pb-aFf" id="dnr-oP-1WM"/>
|
||||
<outlet property="loginGoogleButton" destination="cT8-b7-zTj" id="SrU-zj-32M"/>
|
||||
<outlet property="loginOSMButton" destination="Gqm-JS-hos" id="zJS-TR-HDM"/>
|
||||
<outlet property="logoutButton" destination="Swf-Rn-H3g" id="xk6-3O-unV"/>
|
||||
<outlet property="scrollViewContentHeight" destination="w1I-mi-hQq" id="azh-PG-GQp"/>
|
||||
<outlet property="rankLabel" destination="JuL-pe-mJl" id="pkl-ad-RX0"/>
|
||||
<outlet property="signupButton" destination="s0p-dL-PG8" id="3eb-cg-uku"/>
|
||||
<outlet property="uploadedChangesLabel" destination="AOM-R5-eiO" id="6hh-Ri-fb8"/>
|
||||
<outlet property="uploadedChangesTop" destination="0Km-sC-aJd" id="bwb-nZ-Eqg"/>
|
||||
<outlet property="uploadedChangesView" destination="CCh-RG-hju" id="ngN-nc-7WQ"/>
|
||||
<outlet property="yourPlaceLabelCenterYAlignment" destination="qaH-U1-XpF" id="Gfi-Gv-0Ij"/>
|
||||
<segue destination="anB-7S-ebY" kind="custom" identifier="Authorization2WebViewAuthorizationSegue" customClass="MWMSegue" id="Pet-Wq-d4a"/>
|
||||
<segue destination="4R7-Vk-fQr" kind="custom" identifier="Authorization2OSMAuthorizationSegue" customClass="MWMSegue" id="nJf-7z-2TX"/>
|
||||
</connections>
|
||||
|
@ -2692,23 +2596,19 @@
|
|||
<image name="ic_add_button" width="28" height="28"/>
|
||||
<image name="ic_arrow_gray_down" width="28" height="28"/>
|
||||
<image name="ic_arrow_gray_right" width="28" height="28"/>
|
||||
<image name="ic_device" width="28" height="28"/>
|
||||
<image name="ic_more" width="28" height="28"/>
|
||||
<image name="ic_nav_bar_back" width="14" height="22"/>
|
||||
<image name="ic_upload" width="28" height="28"/>
|
||||
<image name="img_no_maps" width="160" height="160"/>
|
||||
<image name="img_profile_empty_light" width="200" height="200"/>
|
||||
<image name="img_whatsnew_migration" width="240" height="240"/>
|
||||
<image name="login_facebook" width="28" height="28"/>
|
||||
<image name="login_google" width="28" height="28"/>
|
||||
<image name="separator_image" width="1" height="1"/>
|
||||
</resources>
|
||||
<inferredMetricsTieBreakers>
|
||||
<segue reference="Pet-Wq-d4a"/>
|
||||
<segue reference="4Cc-99-mlN"/>
|
||||
<segue reference="Tkr-Ad-FQL"/>
|
||||
<segue reference="OEF-kR-jKi"/>
|
||||
<segue reference="4ye-8o-cjF"/>
|
||||
<segue reference="nJf-7z-2TX"/>
|
||||
<segue reference="gFM-Ca-ARt"/>
|
||||
<segue reference="urr-1u-jhn"/>
|
||||
<segue reference="0A8-4b-0A2"/>
|
||||
<segue reference="hU6-lr-OOV"/>
|
||||
<segue reference="Pet-Wq-d4a"/>
|
||||
</inferredMetricsTieBreakers>
|
||||
</document>
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
+ (UIFont *)medium18;
|
||||
+ (UIFont *)medium20;
|
||||
+ (UIFont *)medium24;
|
||||
+ (UIFont *)medium28;
|
||||
+ (UIFont *)medium36;
|
||||
+ (UIFont *)medium40;
|
||||
+ (UIFont *)medium44;
|
||||
|
|
|
@ -151,6 +151,12 @@ NSString * fontName(FontWeight weight, CGFloat size)
|
|||
return [UIFont fontWithName:fontName(FontWeightMedium, size) size:size];
|
||||
}
|
||||
|
||||
+ (UIFont *)medium28
|
||||
{
|
||||
CGFloat const size = 28;
|
||||
return [UIFont fontWithName:fontName(FontWeightMedium, size) size:size];
|
||||
}
|
||||
|
||||
+ (UIFont *)medium36
|
||||
{
|
||||
CGFloat const size = 36;
|
||||
|
|
Loading…
Add table
Reference in a new issue