Initial commit
This commit is contained in:
+18
@@ -0,0 +1,18 @@
|
||||
//
|
||||
// UMComSimplicityUserCenterViewController.h
|
||||
// UMCommunity
|
||||
//
|
||||
// Created by 张军华 on 16/5/19.
|
||||
// Copyright © 2016年 Umeng. All rights reserved.
|
||||
//
|
||||
|
||||
#import "UMComViewController.h"
|
||||
@class UMComUser;
|
||||
|
||||
@interface UMComSimplicityUserCenterViewController : UMComViewController
|
||||
|
||||
@property (nonatomic,strong)UMComUser* user;
|
||||
|
||||
|
||||
|
||||
@end
|
||||
+251
@@ -0,0 +1,251 @@
|
||||
//
|
||||
// UMComSimplicityUserCenterViewController.m
|
||||
// UMCommunity
|
||||
//
|
||||
// Created by 张军华 on 16/5/19.
|
||||
// Copyright © 2016年 Umeng. All rights reserved.
|
||||
//
|
||||
|
||||
#import "UMComSimplicityUserCenterViewController.h"
|
||||
#import "UMComResouceDefines.h"
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <UMComDataStorage/UMComModelObjectHeader.h>
|
||||
#import "UMComShowToast.h"
|
||||
#import "UMComSimpleFeedTableViewController.h"
|
||||
#import <UMCommunitySDK/UMComDataTypeDefine.h>
|
||||
#import "UMComChangeBorderBtn.h"
|
||||
#import "UMComUserDataController.h"
|
||||
#import <UMCommunitySDK/UMComSession.h>
|
||||
#import <UMComFoundation/UMComKit+Color.h>
|
||||
#import <UMComFoundation/UMComDefines.h>
|
||||
|
||||
|
||||
#import "UMComImageView.h"
|
||||
#import "UMComFeedListDataController.h"
|
||||
|
||||
#define g_userCenter_count_template @"动态 %lu"
|
||||
|
||||
@interface UMComSimplicityUserCenterViewController ()<UMImageViewDelegate>
|
||||
@property (weak, nonatomic) IBOutlet UIView *statusBarView; //status bar的占位view
|
||||
@property (weak, nonatomic) IBOutlet UILabel *countLabel; //关注动态
|
||||
@property (weak, nonatomic) IBOutlet UMComImageView *medal; //勋章
|
||||
@property (weak, nonatomic) IBOutlet UIButton *backBtn; //返回按钮
|
||||
@property (weak, nonatomic) IBOutlet UMComImageView *protrainImageView; //头像
|
||||
@property (weak, nonatomic) IBOutlet UILabel *userName; //用户名
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *gender; //性别
|
||||
@property (weak, nonatomic) IBOutlet UMComChangeBorderBtn *reportBtn; //举报
|
||||
@property (weak, nonatomic) IBOutlet UIView *userInfoView; //整个userinfo的view
|
||||
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *medalWidthConstraint;
|
||||
|
||||
@property (nonatomic, strong) UMComUserDataController *userDataController;
|
||||
|
||||
-(void)refreshUserInfo:(UMComUser*)user;
|
||||
-(void)handleBackBtn:(id)target;
|
||||
-(void)handleReportBtn:(id)target;
|
||||
@end
|
||||
|
||||
@implementation UMComSimplicityUserCenterViewController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
if (UMComSystem_Version_Greater_Than_Or_Equal_To(@"7.0"))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
//版本小于7.0的时候,去掉statusBarView控件所有的约束
|
||||
[self.statusBarView removeFromSuperview];
|
||||
}
|
||||
|
||||
|
||||
//如果登陆用户的个人中心,就不显示举报
|
||||
if ([self.user.uid isEqualToString:[UMComSession sharedInstance].loginUser.uid]) {
|
||||
[self.reportBtn removeFromSuperview];
|
||||
}
|
||||
|
||||
|
||||
//初始化控件
|
||||
// [self.backBtn setImage:UMComSimpleImageWithImageName(@"um_com_backwardwhite") forState:UIControlStateNormal];
|
||||
[self.backBtn setImage:UMComSimpleImageWithImageName(@"um_forum_back_gray") forState:UIControlStateNormal];
|
||||
[self.backBtn addTarget:self action:@selector(handleBackBtn:) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
//设置举报控件
|
||||
[self.reportBtn.layer setCornerRadius:6];
|
||||
[self.reportBtn.layer setBorderWidth:1];
|
||||
UIColor* normalColor = UMComColorWithHexString(@"FFFFFF");
|
||||
UIColor* highlightedColor = UMComColorWithHexString(@"#469ef8");
|
||||
self.reportBtn.normalBorderColor = normalColor;
|
||||
self.reportBtn.highlightedBorderColor = highlightedColor;
|
||||
[self.reportBtn.layer setBorderColor:normalColor.CGColor];
|
||||
|
||||
self.reportBtn.titleLabel.textColor = UMComColorWithHexString(@"FFFFFF");
|
||||
self.reportBtn.titleLabel.font = UMComFontNotoSansLightWithSafeSize(14);
|
||||
self.reportBtn.backgroundColor = [UIColor clearColor];
|
||||
[self.reportBtn setTitleColor:UMComColorWithHexString(@"999999") forState:UIControlStateHighlighted];
|
||||
[self.reportBtn setTitleColor:UMComColorWithHexString(@"FFFFFF") forState:UIControlStateNormal];
|
||||
[self.reportBtn addTarget:self action:@selector(handleReportBtn:) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
//设置头像
|
||||
self.protrainImageView.layer.cornerRadius = self.protrainImageView.bounds.size.width/2;
|
||||
self.protrainImageView.clipsToBounds = YES;
|
||||
self.protrainImageView.image = UMComSimpleImageWithImageName(@"um_com_defaultAvatar");
|
||||
|
||||
//设置名字
|
||||
self.userName.font = UMComFontNotoSansLightWithSafeSize(14);
|
||||
self.userName.backgroundColor = [UIColor clearColor];
|
||||
self.userName.textColor = UMComColorWithHexString(@"FFFFFF");
|
||||
|
||||
//设置动态
|
||||
self.countLabel.font = UMComFontNotoSansLightWithSafeSize(14);
|
||||
self.countLabel.textColor = UMComColorWithHexString(@"FFFFFF");
|
||||
|
||||
UMComSimpleFeedTableViewController *feedVc = [[UMComSimpleFeedTableViewController alloc] init];
|
||||
feedVc.dataController = [[UMComFeedTimeLineDataController alloc] initWithCount:UMCom_Limit_Page_Count userID:self.user.uid timeLineFeedListType:UMComUserTimeLineFeedType_Default];
|
||||
|
||||
[self.view addSubview:feedVc.view];
|
||||
[self addChildViewController:feedVc];
|
||||
|
||||
UIView *feedView = feedVc.view;
|
||||
[feedView setTranslatesAutoresizingMaskIntoConstraints:NO];
|
||||
NSDictionary *dict1 = NSDictionaryOfVariableBindings(feedView, _userInfoView);
|
||||
NSDictionary *metrics = @{@"hPadding":@0,@"vPadding":@0};
|
||||
NSString *vfl = @"|-hPadding-[feedView]-hPadding-|";
|
||||
NSString *vfl0 = @"V:|-vPadding-[_userInfoView]-0-[feedView]-vPadding-|";
|
||||
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:vfl options:0 metrics:metrics views:dict1]];
|
||||
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:vfl0 options:0 metrics:metrics views:dict1]];
|
||||
|
||||
[self getUserProfile];
|
||||
//请求用户信息
|
||||
[self refreshUserInfo:self.user];
|
||||
}
|
||||
|
||||
- (void)setUser:(UMComUser *)user
|
||||
{
|
||||
_user = user;
|
||||
}
|
||||
|
||||
|
||||
- (void)getUserProfile
|
||||
{
|
||||
__weak typeof(self) weakSelf = self;
|
||||
if (!self.userDataController) {
|
||||
self.userDataController = [UMComUserDataController userDataControllerWithUser:self.user];
|
||||
}
|
||||
[self.userDataController fetchUserProfileCompletion:^(id responseObject, NSError *error) {
|
||||
//请求用户信息
|
||||
if (responseObject && [responseObject isKindOfClass:[UMComUser class]] && !error) {
|
||||
|
||||
weakSelf.user = responseObject;
|
||||
[weakSelf refreshUserInfo:weakSelf.user];
|
||||
}
|
||||
else{
|
||||
[UMComShowToast showFetchResultTipWithError:error];
|
||||
}
|
||||
[weakSelf refreshUserInfo:weakSelf.user];
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
[super didReceiveMemoryWarning];
|
||||
// Dispose of any resources that can be recreated.
|
||||
}
|
||||
|
||||
-(void) viewWillAppear:(BOOL)animated
|
||||
{
|
||||
[super viewWillAppear:animated];
|
||||
[self.navigationController setNavigationBarHidden:YES];
|
||||
}
|
||||
|
||||
-(void) viewWillDisappear:(BOOL)animated
|
||||
{
|
||||
[super viewWillDisappear:animated];
|
||||
[self.navigationController setNavigationBarHidden:NO];
|
||||
}
|
||||
|
||||
-(void) viewDidAppear:(BOOL)animated
|
||||
{
|
||||
[super viewDidAppear:animated];
|
||||
}
|
||||
|
||||
#pragma mark - private method
|
||||
|
||||
-(void)refreshUserInfo:(UMComUser*)user
|
||||
{
|
||||
[self.protrainImageView setImageURL:user.icon_url.small_url_string placeHolderImage:UMComSimpleImageWithImageName(@"um_com_defaultAvatar")];
|
||||
|
||||
if (user.feed_count > 0) {
|
||||
self.countLabel.text = [[NSString alloc] initWithFormat:g_userCenter_count_template,user.feed_count.longValue];
|
||||
}
|
||||
else{
|
||||
self.countLabel.text = [[NSString alloc] initWithFormat:g_userCenter_count_template,(long)0];
|
||||
}
|
||||
|
||||
|
||||
self.userName.text = user.name;
|
||||
|
||||
if (user.gender.integerValue == 0) {
|
||||
self.gender.image = UMComSimpleImageWithImageName(@"um_com_female");
|
||||
}
|
||||
else{
|
||||
self.gender.image = UMComSimpleImageWithImageName(@"um_com_male");
|
||||
}
|
||||
|
||||
if (user.medal_list.count > 0) {
|
||||
self.medal.hidden = NO;
|
||||
UMComMedal* medal = user.medal_list.firstObject;
|
||||
if (medal && [medal isKindOfClass:[UMComMedal class]]) {
|
||||
self.medal.delegate = self;
|
||||
self.medal.isAutoStart = YES;
|
||||
[self.medal setImageURL:medal.icon_url placeHolderImage:UMComSimpleImageWithImageName(@"um_com_authorized_smal")];
|
||||
}
|
||||
else{
|
||||
[self.medal setImageURL:nil placeHolderImage:UMComSimpleImageWithImageName(@"um_com_authorized_smal")];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
self.medal.hidden = YES;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-(void)handleBackBtn:(id)target
|
||||
{
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
-(void)handleReportBtn:(id)target
|
||||
{
|
||||
[UMComLoginManager performLogin:self completion:^(id responseObject, NSError *error) {
|
||||
if (!error) {
|
||||
[[UMComDataRequestManager defaultManager] userSpamWitUID:self.user.uid completion:^(NSDictionary *responseObject, NSError *error) {
|
||||
|
||||
[UMComShowToast spamUser:error];
|
||||
|
||||
}];
|
||||
}
|
||||
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - UMImageViewDelegate
|
||||
|
||||
-(void) updateMedalWithImageView:(UMImageView *)imageView;
|
||||
{
|
||||
CGFloat width = imageView.bounds.size.width;
|
||||
CGFloat height = imageView.bounds.size.height;
|
||||
CGSize imageSize = imageView.image.size;
|
||||
width = imageSize.width * height/ imageSize.height;
|
||||
|
||||
self.medalWidthConstraint.constant = width;
|
||||
[self.medal updateConstraintsIfNeeded];
|
||||
}
|
||||
|
||||
- (void)imageViewLoadedImage:(UMImageView*)imageView
|
||||
{
|
||||
NSLog(@"imageViewLoadedImage");
|
||||
[self updateMedalWithImageView:imageView];
|
||||
}
|
||||
|
||||
@end
|
||||
+157
@@ -0,0 +1,157 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="9532" systemVersion="14F27" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9530"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="UMComSimplicityUserCenterViewController">
|
||||
<connections>
|
||||
<outlet property="backBtn" destination="NMC-Es-aOQ" id="MTg-Ga-T6K"/>
|
||||
<outlet property="countLabel" destination="NT2-df-9ie" id="Nth-ba-ErV"/>
|
||||
<outlet property="gender" destination="g4G-KF-5ul" id="bKV-to-yAL"/>
|
||||
<outlet property="medal" destination="U0E-V5-D09" id="VKE-Ir-P7Q"/>
|
||||
<outlet property="medalWidthConstraint" destination="90O-bI-JUd" id="KLB-eJ-IWu"/>
|
||||
<outlet property="protrainImageView" destination="Vqv-H9-DuE" id="P8O-md-wpl"/>
|
||||
<outlet property="reportBtn" destination="1R8-Ku-85O" id="lAl-03-oQ9"/>
|
||||
<outlet property="statusBarView" destination="KZ0-4q-x5N" id="te8-Nj-k4H"/>
|
||||
<outlet property="userInfoView" destination="McD-pp-MV6" id="pA4-rX-SLg"/>
|
||||
<outlet property="userName" destination="oWL-02-1u0" id="hFC-7S-sD6"/>
|
||||
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="McD-pp-MV6" userLabel="userInfoView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="188"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="NMC-Es-aOQ" userLabel="backBtn">
|
||||
<rect key="frame" x="10" y="30" width="44" height="24"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="24" id="IFn-8X-B8B"/>
|
||||
<constraint firstAttribute="width" constant="44" id="qf1-76-gCp"/>
|
||||
</constraints>
|
||||
<state key="normal">
|
||||
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Vqv-H9-DuE" userLabel="protraitView" customClass="UMComImageView">
|
||||
<rect key="frame" x="135" y="35" width="50" height="50"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="50" id="1iU-Yu-evs"/>
|
||||
<constraint firstAttribute="width" constant="50" id="GIO-6Q-Iux"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1R8-Ku-85O" userLabel="reportBtn" customClass="UMComChangeBorderBtn">
|
||||
<rect key="frame" x="266" y="30" width="44" height="24"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="24" id="Ug2-WS-jsQ"/>
|
||||
<constraint firstAttribute="width" constant="44" id="nE1-hi-R5g"/>
|
||||
</constraints>
|
||||
<state key="normal" title="举报">
|
||||
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<color key="titleShadowColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
</button>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="g4G-KF-5ul" userLabel="gender">
|
||||
<rect key="frame" x="169" y="69" width="16" height="16"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="16" id="RbV-YZ-f3g"/>
|
||||
<constraint firstAttribute="width" constant="16" id="VoD-gU-Uer"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="userName" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oWL-02-1u0">
|
||||
<rect key="frame" x="0.0" y="95" width="320" height="21"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="21" id="G9J-i1-ONj"/>
|
||||
</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"/>
|
||||
</label>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="U0E-V5-D09" userLabel="medal" customClass="UMComImageView">
|
||||
<rect key="frame" x="149" y="126" width="22" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" priority="750" constant="22" id="90O-bI-JUd"/>
|
||||
<constraint firstAttribute="height" constant="22" id="ewW-nD-q0g"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="bu0-gM-NBz" userLabel="leftLine">
|
||||
<rect key="frame" x="50" y="162" width="60" height="1"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="60" id="Cip-7M-egz"/>
|
||||
<constraint firstAttribute="height" constant="1" id="ItX-im-cna"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="gn5-uD-fvI" userLabel="rightLine">
|
||||
<rect key="frame" x="210" y="162" width="60" height="1"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="60" id="1tz-x7-WNg"/>
|
||||
<constraint firstAttribute="height" constant="1" id="cEy-8m-8eL"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="NT2-df-9ie" userLabel="countLable">
|
||||
<rect key="frame" x="110" y="152" width="100" height="21"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="21" id="XX0-V4-Bs6"/>
|
||||
</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"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="KZ0-4q-x5N" userLabel="statusBarView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="20"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="20" id="haZ-g9-eaC"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="1R8-Ku-85O" firstAttribute="top" secondItem="KZ0-4q-x5N" secondAttribute="top" constant="30" id="1IT-kV-fbO"/>
|
||||
<constraint firstItem="1R8-Ku-85O" firstAttribute="top" secondItem="McD-pp-MV6" secondAttribute="top" priority="750" constant="15" id="8Y8-U7-tW1"/>
|
||||
<constraint firstAttribute="trailing" secondItem="oWL-02-1u0" secondAttribute="trailing" id="9dR-kG-Sax"/>
|
||||
<constraint firstItem="NMC-Es-aOQ" firstAttribute="top" secondItem="KZ0-4q-x5N" secondAttribute="top" constant="30" id="9jC-8m-28Z"/>
|
||||
<constraint firstItem="gn5-uD-fvI" firstAttribute="leading" secondItem="NT2-df-9ie" secondAttribute="trailing" id="DZw-sl-FZV"/>
|
||||
<constraint firstItem="KZ0-4q-x5N" firstAttribute="leading" secondItem="McD-pp-MV6" secondAttribute="leading" id="DpU-uW-O96"/>
|
||||
<constraint firstItem="NT2-df-9ie" firstAttribute="leading" secondItem="bu0-gM-NBz" secondAttribute="trailing" id="F4N-7a-8Sg"/>
|
||||
<constraint firstAttribute="trailing" secondItem="KZ0-4q-x5N" secondAttribute="trailing" id="FPY-6X-HOv"/>
|
||||
<constraint firstAttribute="bottom" secondItem="gn5-uD-fvI" secondAttribute="bottom" constant="25" id="H41-a5-FB3"/>
|
||||
<constraint firstItem="oWL-02-1u0" firstAttribute="leading" secondItem="McD-pp-MV6" secondAttribute="leading" id="I7i-kq-Rqp"/>
|
||||
<constraint firstItem="U0E-V5-D09" firstAttribute="top" secondItem="oWL-02-1u0" secondAttribute="bottom" constant="10" id="Ilp-jN-foS"/>
|
||||
<constraint firstItem="Vqv-H9-DuE" firstAttribute="top" secondItem="McD-pp-MV6" secondAttribute="top" priority="750" constant="15" id="KAY-oj-T9W"/>
|
||||
<constraint firstItem="NMC-Es-aOQ" firstAttribute="leading" secondItem="McD-pp-MV6" secondAttribute="leading" priority="750" constant="10" id="LUt-TH-TGW"/>
|
||||
<constraint firstItem="bu0-gM-NBz" firstAttribute="leading" secondItem="McD-pp-MV6" secondAttribute="leading" constant="50" id="QM3-Aj-1P7"/>
|
||||
<constraint firstItem="KZ0-4q-x5N" firstAttribute="top" secondItem="McD-pp-MV6" secondAttribute="top" id="XoK-46-nQm"/>
|
||||
<constraint firstItem="oWL-02-1u0" firstAttribute="top" secondItem="Vqv-H9-DuE" secondAttribute="bottom" constant="10" id="YNg-if-FtI"/>
|
||||
<constraint firstAttribute="bottom" secondItem="bu0-gM-NBz" secondAttribute="bottom" constant="25" id="ZNC-ap-l0T"/>
|
||||
<constraint firstItem="U0E-V5-D09" firstAttribute="centerX" secondItem="McD-pp-MV6" secondAttribute="centerX" id="euG-gj-Dr0"/>
|
||||
<constraint firstAttribute="trailing" secondItem="gn5-uD-fvI" secondAttribute="trailing" constant="50" id="euS-9U-d1B"/>
|
||||
<constraint firstItem="NMC-Es-aOQ" firstAttribute="top" secondItem="McD-pp-MV6" secondAttribute="top" priority="750" constant="15" id="k9p-w0-Yuw"/>
|
||||
<constraint firstItem="Vqv-H9-DuE" firstAttribute="centerX" secondItem="McD-pp-MV6" secondAttribute="centerX" id="r17-nb-T2h"/>
|
||||
<constraint firstAttribute="height" constant="188" id="v0G-fg-MbC"/>
|
||||
<constraint firstItem="g4G-KF-5ul" firstAttribute="bottom" secondItem="Vqv-H9-DuE" secondAttribute="bottom" id="v1J-gv-mya"/>
|
||||
<constraint firstItem="g4G-KF-5ul" firstAttribute="trailing" secondItem="Vqv-H9-DuE" secondAttribute="trailing" id="vgH-T5-4FA"/>
|
||||
<constraint firstAttribute="bottom" secondItem="NT2-df-9ie" secondAttribute="bottom" constant="15" id="wOG-5z-fwd"/>
|
||||
<constraint firstAttribute="trailing" secondItem="1R8-Ku-85O" secondAttribute="trailing" constant="10" id="yxk-r5-idL"/>
|
||||
<constraint firstItem="Vqv-H9-DuE" firstAttribute="top" secondItem="KZ0-4q-x5N" secondAttribute="top" constant="35" id="zHM-zb-uSt"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="McD-pp-MV6" secondAttribute="trailing" id="PDq-b7-78f"/>
|
||||
<constraint firstItem="McD-pp-MV6" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="Y8c-fj-OBt"/>
|
||||
<constraint firstItem="McD-pp-MV6" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="wQW-Fy-lJ1"/>
|
||||
</constraints>
|
||||
<point key="canvasLocation" x="-27" y="113"/>
|
||||
</view>
|
||||
</objects>
|
||||
</document>
|
||||
Reference in New Issue
Block a user