Bgerstle has uploaded a new change for review.
https://gerrit.wikimedia.org/r/226726
Change subject: fix gallery image owner label overflow
......................................................................
fix gallery image owner label overflow
Needed to add tail truncation to attributed string attributes (since
it attributes were overriding UIButton.titleLabel.lineBreakMode), as
well as adding a >= "standard" trailing constraint to the button.
See Phab ticket for screencaps of the fix.
Bug: T106174
Change-Id: I73e51682200dea5186e9e6e0a6c5f06d79a837a5
---
M Wikipedia.xcodeproj/project.pbxproj
D Wikipedia/Categories/NSParagraphStyle+WMFNaturalAlignmentStyle.m
R Wikipedia/Categories/NSParagraphStyle+WMFParagraphStyles.h
A Wikipedia/Categories/NSParagraphStyle+WMFParagraphStyles.m
M Wikipedia/View Controllers/Image Gallery/WMFImageGalleryDetailOverlayView.m
M Wikipedia/View Controllers/Image Gallery/WMFImageGalleryDetailOverlayView.xib
6 files changed, 51 insertions(+), 37 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/ios/wikipedia
refs/changes/26/226726/1
diff --git a/Wikipedia.xcodeproj/project.pbxproj
b/Wikipedia.xcodeproj/project.pbxproj
index 40d3040..48f6477 100644
--- a/Wikipedia.xcodeproj/project.pbxproj
+++ b/Wikipedia.xcodeproj/project.pbxproj
@@ -230,7 +230,6 @@
BC0FED751AAA026C002488D7 /* NSArray+BKIndexTests.m in Sources
*/ = {isa = PBXBuildFile; fileRef = BCB58F7B1A8D0C8E00465627 /*
NSArray+BKIndexTests.m */; };
BC0FED761AAA026C002488D7 /* NSString+WMFHTMLParsingTests.m in
Sources */ = {isa = PBXBuildFile; fileRef = C983151B1AA5205700E25EE1 /*
NSString+WMFHTMLParsingTests.m */; };
BC0FED771AAA026C002488D7 /* WMFImageURLParsingTests.m in
Sources */ = {isa = PBXBuildFile; fileRef = BCBDE0AB1AA76EAC006BD29A /*
WMFImageURLParsingTests.m */; };
- BC23759A1AB78D8A00B0BAA8 /*
NSParagraphStyle+WMFNaturalAlignmentStyle.m in Sources */ = {isa =
PBXBuildFile; fileRef = BC2375991AB78D8A00B0BAA8 /*
NSParagraphStyle+WMFNaturalAlignmentStyle.m */; };
BC23759E1AB8928600B0BAA8 /* WMFDateFormatterTests.m in Sources
*/ = {isa = PBXBuildFile; fileRef = BC23759D1AB8928600B0BAA8 /*
WMFDateFormatterTests.m */; };
BC2375C11ABB14CC00B0BAA8 /* WMFArticleImageInjectionTests.m in
Sources */ = {isa = PBXBuildFile; fileRef = BC2375C01ABB14CC00B0BAA8 /*
WMFArticleImageInjectionTests.m */; };
BC2CBB8E1AA10F400079A313 /* UIView+WMFFrameUtils.m in Sources
*/ = {isa = PBXBuildFile; fileRef = BC2CBB8D1AA10F400079A313 /*
UIView+WMFFrameUtils.m */; };
@@ -245,6 +244,7 @@
BC5FE5751B1DFF5400273BC0 /* ArticleFetcherTests.m in Sources */
= {isa = PBXBuildFile; fileRef = BC5FE5741B1DFF5400273BC0 /*
ArticleFetcherTests.m */; };
BC69C3141AB0C1FF0090B039 /* WMFImageInfoController.m in Sources
*/ = {isa = PBXBuildFile; fileRef = BC69C3131AB0C1FF0090B039 /*
WMFImageInfoController.m */; };
BC6BF4001B19213600362968 /* XCTestCase+WMFLocaleTesting.m in
Sources */ = {isa = PBXBuildFile; fileRef = BC6BF3FE1B19209900362968 /*
XCTestCase+WMFLocaleTesting.m */; };
+ BC725ECF1B628C0300E0A64C /*
NSParagraphStyle+WMFParagraphStyles.m in Sources */ = {isa = PBXBuildFile;
fileRef = BC725ECE1B628C0300E0A64C /* NSParagraphStyle+WMFParagraphStyles.m */;
};
BC7DFCD61AA4E5FE000035C3 /* WMFImageURLParsing.m in Sources */
= {isa = PBXBuildFile; fileRef = BC7DFCD51AA4E5FE000035C3 /*
WMFImageURLParsing.m */; };
BC7E4A521B34B53E00EECD8B /* MWKLanguageLinkControllerTests.m in
Sources */ = {isa = PBXBuildFile; fileRef = BC7E4A511B34B53E00EECD8B /*
MWKLanguageLinkControllerTests.m */; };
BC86B9361A92966B00B4C039 /*
AFHTTPRequestOperationManager+UniqueRequests.m in Sources */ = {isa =
PBXBuildFile; fileRef = BC86B9351A92966B00B4C039 /*
AFHTTPRequestOperationManager+UniqueRequests.m */; };
@@ -773,8 +773,6 @@
BC092BA11B19135700093C59 /* WMFApiJsonResponseSerializer.m */ =
{isa = PBXFileReference; fileEncoding = 4; lastKnownFileType =
sourcecode.c.objc; name = WMFApiJsonResponseSerializer.m; path =
Serializers/WMFApiJsonResponseSerializer.m; sourceTree = "<group>"; };
BC092BA61B19189100093C59 /* MWKSiteInfoFetcherTests.m */ = {isa
= PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc;
path = MWKSiteInfoFetcherTests.m; sourceTree = "<group>"; };
BC14F89F1B34B72500860018 /* WikipediaUnitTests-Prefix.pch */ =
{isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path =
"WikipediaUnitTests-Prefix.pch"; sourceTree = "<group>"; };
- BC2375981AB78D8A00B0BAA8 /*
NSParagraphStyle+WMFNaturalAlignmentStyle.h */ = {isa = PBXFileReference;
fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path =
"NSParagraphStyle+WMFNaturalAlignmentStyle.h"; sourceTree = "<group>"; };
- BC2375991AB78D8A00B0BAA8 /*
NSParagraphStyle+WMFNaturalAlignmentStyle.m */ = {isa = PBXFileReference;
fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path =
"NSParagraphStyle+WMFNaturalAlignmentStyle.m"; sourceTree = "<group>"; };
BC23759D1AB8928600B0BAA8 /* WMFDateFormatterTests.m */ = {isa =
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path
= WMFDateFormatterTests.m; sourceTree = "<group>"; };
BC2375C01ABB14CC00B0BAA8 /* WMFArticleImageInjectionTests.m */
= {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType =
sourcecode.c.objc; path = WMFArticleImageInjectionTests.m; sourceTree =
"<group>"; };
BC282E271AE7FBB1005A5277 /* WMFTestFixtureUtilities.h */ = {isa
= PBXFileReference; lastKnownFileType = sourcecode.c.h; path =
WMFTestFixtureUtilities.h; sourceTree = "<group>"; };
@@ -799,6 +797,8 @@
BC6BF3FD1B19209900362968 /* XCTestCase+WMFLocaleTesting.h */ =
{isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h;
path = "XCTestCase+WMFLocaleTesting.h"; sourceTree = "<group>"; };
BC6BF3FE1B19209900362968 /* XCTestCase+WMFLocaleTesting.m */ =
{isa = PBXFileReference; fileEncoding = 4; lastKnownFileType =
sourcecode.c.objc; path = "XCTestCase+WMFLocaleTesting.m"; sourceTree =
"<group>"; };
BC6FEAE01A9B7EFD00A1D890 /* WMFCodingStyle.m */ = {isa =
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path
= WMFCodingStyle.m; sourceTree = "<group>"; };
+ BC725ECD1B628C0300E0A64C /*
NSParagraphStyle+WMFParagraphStyles.h */ = {isa = PBXFileReference;
fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path =
"NSParagraphStyle+WMFParagraphStyles.h"; sourceTree = "<group>"; };
+ BC725ECE1B628C0300E0A64C /*
NSParagraphStyle+WMFParagraphStyles.m */ = {isa = PBXFileReference;
fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path =
"NSParagraphStyle+WMFParagraphStyles.m"; sourceTree = "<group>"; };
BC7A4A231B17B3510003E73E /* NSObjectUtilities.h */ = {isa =
PBXFileReference; lastKnownFileType = sourcecode.c.h; path =
NSObjectUtilities.h; sourceTree = "<group>"; };
BC7ACB621AB34C9C00791497 /* WMFAsyncTestCase.h */ = {isa =
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name =
WMFAsyncTestCase.h; path = ../WMFAsyncTestCase.h; sourceTree = "<group>"; };
BC7ACB631AB34C9C00791497 /* WMFAsyncTestCase.m */ = {isa =
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name
= WMFAsyncTestCase.m; path = ../WMFAsyncTestCase.m; sourceTree = "<group>"; };
@@ -1909,12 +1909,12 @@
BCC185DF1A9EC836005378F8 /*
UIButton+FrameUtils.m */,
BC2CBB8C1AA10F400079A313 /*
UIView+WMFFrameUtils.h */,
BC2CBB8D1AA10F400079A313 /*
UIView+WMFFrameUtils.m */,
+ BC725ECD1B628C0300E0A64C /*
NSParagraphStyle+WMFParagraphStyles.h */,
+ BC725ECE1B628C0300E0A64C /*
NSParagraphStyle+WMFParagraphStyles.m */,
0EA4402C1AA6281200B09DBA /*
NSDateFormatter+WMFExtensions.h */,
0EA4402D1AA6281200B09DBA /*
NSDateFormatter+WMFExtensions.m */,
BCA96E751AAA35EE009A61FA /*
UIView+WMFDefaultNib.h */,
BCA96E761AAA35EE009A61FA /*
UIView+WMFDefaultNib.m */,
- BC2375981AB78D8A00B0BAA8 /*
NSParagraphStyle+WMFNaturalAlignmentStyle.h */,
- BC2375991AB78D8A00B0BAA8 /*
NSParagraphStyle+WMFNaturalAlignmentStyle.m */,
BCA6765B1AC0686600A16160 /*
Article+ConvenienceAccessors.h */,
BCA6765C1AC0686600A16160 /*
Article+ConvenienceAccessors.m */,
BC90C4BC1AC219FE009F36D2 /*
UIWindow+WMFMainScreenWindow.h */,
@@ -3128,7 +3128,6 @@
040892641935ABBD004CF254 /*
UIViewController+StatusBarHeight.m in Sources */,
04142A8F184F974E006EF779 /* NSDate-Utilities.m
in Sources */,
0487048C19F8262600B7D307 /*
SearchResultFetcher.m in Sources */,
- BC23759A1AB78D8A00B0BAA8 /*
NSParagraphStyle+WMFNaturalAlignmentStyle.m in Sources */,
04090A3B187FB7D000577EDF /* UIView+Debugging.m
in Sources */,
BCC185D81A9E5628005378F8 /*
UILabel+WMFStyling.m in Sources */,
0EFB0F241B31EE2D00D05C08 /* Saved.m in Sources
*/,
@@ -3289,6 +3288,7 @@
D47BF5D4197870390067C3BC /* SavedPagesFunnel.m
in Sources */,
04616DFC1AE706C600815BCE /*
WMFLocalizationProtocol.m in Sources */,
04C43AC0183442FC006C643B /* NSString+Extras.m
in Sources */,
+ BC725ECF1B628C0300E0A64C /*
NSParagraphStyle+WMFParagraphStyles.m in Sources */,
04D686FE1AB2949C0009B44A /* WikiGlyphLabel.m in
Sources */,
04CCCFEE1935093A00E3F60C /*
SecondaryMenuRowView.m in Sources */,
04D686CE1AB292160009B44A /* WMFFaceDetector.m
in Sources */,
diff --git a/Wikipedia/Categories/NSParagraphStyle+WMFNaturalAlignmentStyle.m
b/Wikipedia/Categories/NSParagraphStyle+WMFNaturalAlignmentStyle.m
deleted file mode 100644
index 7e5c325..0000000
--- a/Wikipedia/Categories/NSParagraphStyle+WMFNaturalAlignmentStyle.m
+++ /dev/null
@@ -1,24 +0,0 @@
-//
-// NSParagraphStyle+WMFNaturalAlignmentStyle.m
-// Wikipedia
-//
-// Created by Brian Gerstle on 3/16/15.
-// Copyright (c) 2015 Wikimedia Foundation. All rights reserved.
-//
-
-#import "NSParagraphStyle+WMFNaturalAlignmentStyle.h"
-
-@implementation NSParagraphStyle (WMFNaturalAlignmentStyle)
-
-+ (NSParagraphStyle*)wmf_naturalAlignmentStyle {
- NSParameterAssert([NSThread isMainThread]);
- static NSParagraphStyle* naturalAlignmentStyle = nil;
- if (!naturalAlignmentStyle) {
- NSMutableParagraphStyle* style = [NSMutableParagraphStyle new];
- style.alignment = NSTextAlignmentNatural;
- naturalAlignmentStyle = [style copy];
- }
- return naturalAlignmentStyle;
-}
-
-@end
diff --git a/Wikipedia/Categories/NSParagraphStyle+WMFNaturalAlignmentStyle.h
b/Wikipedia/Categories/NSParagraphStyle+WMFParagraphStyles.h
similarity index 66%
rename from Wikipedia/Categories/NSParagraphStyle+WMFNaturalAlignmentStyle.h
rename to Wikipedia/Categories/NSParagraphStyle+WMFParagraphStyles.h
index c92d4d1..cc6bf5d 100644
--- a/Wikipedia/Categories/NSParagraphStyle+WMFNaturalAlignmentStyle.h
+++ b/Wikipedia/Categories/NSParagraphStyle+WMFParagraphStyles.h
@@ -1,5 +1,5 @@
//
-// NSParagraphStyle+WMFNaturalAlignmentStyle.h
+// NSParagraphStyle+WMFParagraphStyles.h
// Wikipedia
//
// Created by Brian Gerstle on 3/16/15.
@@ -8,9 +8,11 @@
#import <UIKit/UIKit.h>
-@interface NSParagraphStyle (WMFNaturalAlignmentStyle)
+@interface NSParagraphStyle (WMFParagraphStyles)
/// Provides a backwards-compatible way to have "natural" text alignment of
labels & buttons.
+ (NSParagraphStyle*)wmf_naturalAlignmentStyle;
++ (NSParagraphStyle*)wmf_tailTruncatingNaturalAlignmentStyle;
+
@end
diff --git a/Wikipedia/Categories/NSParagraphStyle+WMFParagraphStyles.m
b/Wikipedia/Categories/NSParagraphStyle+WMFParagraphStyles.m
new file mode 100644
index 0000000..cfd3e7a
--- /dev/null
+++ b/Wikipedia/Categories/NSParagraphStyle+WMFParagraphStyles.m
@@ -0,0 +1,36 @@
+//
+// NSParagraphStyle+WMFParagraphStyles.m
+// Wikipedia
+//
+// Created by Brian Gerstle on 3/16/15.
+// Copyright (c) 2015 Wikimedia Foundation. All rights reserved.
+//
+
+#import "NSParagraphStyle+WMFParagraphStyles.h"
+
+@implementation NSParagraphStyle (WMFParagraphStyles)
+
++ (NSParagraphStyle*)wmf_naturalAlignmentStyle {
+ NSParameterAssert([NSThread isMainThread]);
+ static NSParagraphStyle* naturalAlignmentStyle = nil;
+ if (!naturalAlignmentStyle) {
+ NSMutableParagraphStyle* style = [NSMutableParagraphStyle new];
+ style.alignment = NSTextAlignmentNatural;
+ naturalAlignmentStyle = [style copy];
+ }
+ return naturalAlignmentStyle;
+}
+
++ (NSParagraphStyle*)wmf_tailTruncatingNaturalAlignmentStyle {
+ NSParameterAssert([NSThread isMainThread]);
+ static NSParagraphStyle* tailTruncatingNaturalAlignmentStyle = nil;
+ if (!tailTruncatingNaturalAlignmentStyle) {
+ NSMutableParagraphStyle* style = [NSMutableParagraphStyle new];
+ style.alignment = NSTextAlignmentNatural;
+ style.lineBreakMode = NSLineBreakByTruncatingTail;
+ tailTruncatingNaturalAlignmentStyle = [style copy];
+ }
+ return tailTruncatingNaturalAlignmentStyle;
+}
+
+@end
diff --git a/Wikipedia/View Controllers/Image
Gallery/WMFImageGalleryDetailOverlayView.m b/Wikipedia/View Controllers/Image
Gallery/WMFImageGalleryDetailOverlayView.m
index 63346cc..9cae0d0 100644
--- a/Wikipedia/View Controllers/Image
Gallery/WMFImageGalleryDetailOverlayView.m
+++ b/Wikipedia/View Controllers/Image
Gallery/WMFImageGalleryDetailOverlayView.m
@@ -12,7 +12,7 @@
#import "WikiGlyph_Chars.h"
#import "UILabel+WMFStyling.h"
#import "MWKLicense+ToGlyph.h"
-#import "NSParagraphStyle+WMFNaturalAlignmentStyle.h"
+#import "NSParagraphStyle+WMFParagraphStyles.h"
static double const WMFImageGalleryLicenseFontSize = 19.0;
static double const WMFImageGalleryLicenseBaselineOffset = -1.5;
@@ -25,7 +25,6 @@
- (IBAction)didTapOwnerButton;
@end
-
static NSAttributedString* ConcatOwnerAndLicense(NSString* owner, MWKLicense*
license){
if (!owner && !license) {
@@ -53,7 +52,7 @@
[result appendAttributedString:attributedOwnerAndSeparator];
[result addAttribute:NSParagraphStyleAttributeName
- value:[NSParagraphStyle wmf_naturalAlignmentStyle]
+ value:[NSParagraphStyle
wmf_tailTruncatingNaturalAlignmentStyle]
range:NSMakeRange(0, result.length)];
return result;
diff --git a/Wikipedia/View Controllers/Image
Gallery/WMFImageGalleryDetailOverlayView.xib b/Wikipedia/View Controllers/Image
Gallery/WMFImageGalleryDetailOverlayView.xib
index 90d3706..2af405a 100644
--- a/Wikipedia/View Controllers/Image
Gallery/WMFImageGalleryDetailOverlayView.xib
+++ b/Wikipedia/View Controllers/Image
Gallery/WMFImageGalleryDetailOverlayView.xib
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0"
toolsVersion="6751" systemVersion="14C1510" targetRuntime="iOS.CocoaTouch"
propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0"
toolsVersion="7706" systemVersion="14E46" targetRuntime="iOS.CocoaTouch"
propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
<dependencies>
<deployment identifier="iOS"/>
- <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin"
version="6736"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin"
version="7703"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1"
userLabel="File's Owner"/>
@@ -36,6 +36,7 @@
<constraints>
<constraint firstItem="I6f-Vm-XuX" firstAttribute="top"
secondItem="iN0-l3-epB" secondAttribute="top" constant="100" id="0L5-I0-Yi9"/>
<constraint firstItem="I6f-Vm-XuX" firstAttribute="leading"
secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES"
id="2k3-u8-8nA"/>
+ <constraint firstAttribute="trailing"
relation="greaterThanOrEqual" secondItem="l6E-b6-poB"
secondAttribute="trailing" constant="20" symbolic="YES" id="7RJ-RE-3u1"/>
<constraint firstAttribute="bottom" secondItem="l6E-b6-poB"
secondAttribute="bottom" constant="8" id="PWz-xR-vOr"/>
<constraint firstItem="l6E-b6-poB" firstAttribute="leading"
secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES"
id="e6B-Lc-WcL"/>
<constraint firstItem="l6E-b6-poB" firstAttribute="top"
secondItem="I6f-Vm-XuX" secondAttribute="bottom" constant="8" symbolic="YES"
id="eSj-hx-LwA"/>
--
To view, visit https://gerrit.wikimedia.org/r/226726
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I73e51682200dea5186e9e6e0a6c5f06d79a837a5
Gerrit-PatchSet: 1
Gerrit-Project: apps/ios/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Bgerstle <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits