Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
Material
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dmitriy Stepanets
Material
Commits
90bd4619
Commit
90bd4619
authored
Sep 11, 2015
by
Daniel Dahan
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #42 from GraphKit/issue-41
Issue 41
parents
a2559db4
ec9ec082
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
239 additions
and
77 deletions
+239
-77
Source/BasicCardView.swift
+99
-31
Source/ImageCardView.swift
+129
-34
Source/MaterialTheme.swift
+11
-12
No files found.
Source/BasicCardView.swift
View file @
90bd4619
...
@@ -42,12 +42,20 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
...
@@ -42,12 +42,20 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
/**
/**
:name: titleLabelTopInset
:name: titleLabelTopInset
*/
*/
public
var
titleLabelTopInset
:
CGFloat
=
MaterialTheme
.
verticalInset
public
var
titleLabelTopInset
:
CGFloat
=
MaterialTheme
.
verticalInset
{
didSet
{
prepareCard
()
}
}
/**
/**
:name: titleLabelBottomInset
:name: titleLabelBottomInset
*/
*/
public
var
titleLabelBottomInset
:
CGFloat
=
MaterialTheme
.
verticalInset
public
var
titleLabelBottomInset
:
CGFloat
=
MaterialTheme
.
verticalInset
{
didSet
{
prepareCard
()
}
}
/**
/**
:name: titleLabelHorizontalInset
:name: titleLabelHorizontalInset
...
@@ -62,12 +70,20 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
...
@@ -62,12 +70,20 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
/**
/**
:name: titleLabelLeftInset
:name: titleLabelLeftInset
*/
*/
public
var
titleLabelLeftInset
:
CGFloat
=
MaterialTheme
.
horizontalInset
public
var
titleLabelLeftInset
:
CGFloat
=
MaterialTheme
.
horizontalInset
{
didSet
{
prepareCard
()
}
}
/**
/**
:name: titleLabelRightInset
:name: titleLabelRightInset
*/
*/
public
var
titleLabelRightInset
:
CGFloat
=
MaterialTheme
.
horizontalInset
public
var
titleLabelRightInset
:
CGFloat
=
MaterialTheme
.
horizontalInset
{
didSet
{
prepareCard
()
}
}
/**
/**
:name: detailLabelVerticalInset
:name: detailLabelVerticalInset
...
@@ -82,12 +98,20 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
...
@@ -82,12 +98,20 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
/**
/**
:name: detailLabelTopInset
:name: detailLabelTopInset
*/
*/
public
var
detailLabelTopInset
:
CGFloat
=
MaterialTheme
.
verticalInset
public
var
detailLabelTopInset
:
CGFloat
=
MaterialTheme
.
verticalInset
{
didSet
{
prepareCard
()
}
}
/**
/**
:name: detailLabelBottomInset
:name: detailLabelBottomInset
*/
*/
public
var
detailLabelBottomInset
:
CGFloat
=
MaterialTheme
.
verticalInset
public
var
detailLabelBottomInset
:
CGFloat
=
MaterialTheme
.
verticalInset
{
didSet
{
prepareCard
()
}
}
/**
/**
:name: detailLabelHorizontalInset
:name: detailLabelHorizontalInset
...
@@ -102,12 +126,20 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
...
@@ -102,12 +126,20 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
/**
/**
:name: detailLabelLeftInset
:name: detailLabelLeftInset
*/
*/
public
var
detailLabelLeftInset
:
CGFloat
=
MaterialTheme
.
horizontalInset
public
var
detailLabelLeftInset
:
CGFloat
=
MaterialTheme
.
horizontalInset
{
didSet
{
prepareCard
()
}
}
/**
/**
:name: detailLabelRightInset
:name: detailLabelRightInset
*/
*/
public
var
detailLabelRightInset
:
CGFloat
=
MaterialTheme
.
horizontalInset
public
var
detailLabelRightInset
:
CGFloat
=
MaterialTheme
.
horizontalInset
{
didSet
{
prepareCard
()
}
}
/**
/**
:name: buttonVerticalInset
:name: buttonVerticalInset
...
@@ -122,12 +154,20 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
...
@@ -122,12 +154,20 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
/**
/**
:name: buttonTopInset
:name: buttonTopInset
*/
*/
public
var
buttonTopInset
:
CGFloat
=
MaterialTheme
.
verticalInset
public
var
buttonTopInset
:
CGFloat
=
MaterialTheme
.
verticalInset
/
2
{
didSet
{
prepareCard
()
}
}
/**
/**
:name: buttonBottomInset
:name: buttonBottomInset
*/
*/
public
var
buttonBottomInset
:
CGFloat
=
MaterialTheme
.
verticalInset
public
var
buttonBottomInset
:
CGFloat
=
MaterialTheme
.
verticalInset
/
2
{
didSet
{
prepareCard
()
}
}
/**
/**
:name: buttonHorizontalInset
:name: buttonHorizontalInset
...
@@ -142,17 +182,20 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
...
@@ -142,17 +182,20 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
/**
/**
:name: buttonLeftInset
:name: buttonLeftInset
*/
*/
public
var
buttonLeftInset
:
CGFloat
=
MaterialTheme
.
horizontalInset
public
var
buttonLeftInset
:
CGFloat
=
MaterialTheme
.
horizontalInset
/
2
{
didSet
{
prepareCard
()
}
}
/**
/**
:name: buttonRightInset
:name: buttonRightInset
*/
*/
public
var
buttonRightInset
:
CGFloat
=
MaterialTheme
.
horizontalInset
public
var
buttonRightInset
:
CGFloat
=
MaterialTheme
.
horizontalInset
/
2
{
didSet
{
/**
prepareCard
()
:name: titleLabelContainer
}
*/
}
public
private(set)
var
titleLabelContainer
:
UIView
?
/**
/**
:name: shadow
:name: shadow
...
@@ -160,10 +203,25 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
...
@@ -160,10 +203,25 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
public
var
shadow
:
Bool
=
true
{
public
var
shadow
:
Bool
=
true
{
didSet
{
didSet
{
false
==
shadow
?
removeShadow
()
:
prepareShadow
()
false
==
shadow
?
removeShadow
()
:
prepareShadow
()
prepareCard
()
}
}
/**
:name: maximumTitleLabelHeight
*/
public
var
maximumTitleLabelHeight
:
CGFloat
=
0
{
didSet
{
prepareCard
()
}
}
}
}
/**
/**
:name: titleLabelContainer
*/
public
private(set)
var
titleLabelContainer
:
UIView
?
/**
:name: titleLabel
:name: titleLabel
*/
*/
public
var
titleLabel
:
UILabel
?
{
public
var
titleLabel
:
UILabel
?
{
...
@@ -180,22 +238,26 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
...
@@ -180,22 +238,26 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
// text
// text
titleLabelContainer
!.
addSubview
(
t
)
titleLabelContainer
!.
addSubview
(
t
)
t
.
setTranslatesAutoresizingMaskIntoConstraints
(
false
)
t
.
setTranslatesAutoresizingMaskIntoConstraints
(
false
)
t
.
textColor
=
MaterialTheme
.
white
.
color
t
.
backgroundColor
=
MaterialTheme
.
clear
.
color
t
.
backgroundColor
=
MaterialTheme
.
clear
.
color
t
.
font
=
Roboto
.
medium
t
.
font
=
Roboto
.
medium
t
.
numberOfLines
=
1
t
.
numberOfLines
=
0
t
.
lineBreakMode
=
.
ByTruncatingTail
t
.
lineBreakMode
=
.
ByTruncatingTail
prepareCard
()
t
.
textColor
=
MaterialTheme
.
white
.
color
}
else
{
}
else
{
titleLabelContainer
?
.
removeFromSuperview
()
titleLabelContainer
?
.
removeFromSuperview
()
}
}
prepareCard
()
}
}
}
}
/**
/**
:name: maximumDetailLabelHeight
:name: maximumDetailLabelHeight
*/
*/
public
var
maximumDetailLabelHeight
:
CGFloat
=
144
public
var
maximumDetailLabelHeight
:
CGFloat
=
0
{
didSet
{
prepareCard
()
}
}
/**
/**
:name: detailLabelContainer
:name: detailLabelContainer
...
@@ -224,10 +286,10 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
...
@@ -224,10 +286,10 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
l
.
font
=
Roboto
.
light
l
.
font
=
Roboto
.
light
l
.
numberOfLines
=
0
l
.
numberOfLines
=
0
l
.
lineBreakMode
=
.
ByTruncatingTail
l
.
lineBreakMode
=
.
ByTruncatingTail
prepareCard
()
}
else
{
}
else
{
detailLabelContainer
?
.
removeFromSuperview
()
detailLabelContainer
?
.
removeFromSuperview
()
}
}
prepareCard
()
}
}
}
}
...
@@ -238,12 +300,12 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
...
@@ -238,12 +300,12 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
didSet
{
didSet
{
if
let
d
=
divider
{
if
let
d
=
divider
{
d
.
setTranslatesAutoresizingMaskIntoConstraints
(
false
)
d
.
setTranslatesAutoresizingMaskIntoConstraints
(
false
)
d
.
backgroundColor
=
MaterialTheme
.
blueGrey
.
color
d
.
backgroundColor
=
MaterialTheme
.
blueGrey
.
darken1
addSubview
(
d
)
addSubview
(
d
)
prepareCard
()
}
else
{
}
else
{
divider
?
.
removeFromSuperview
()
divider
?
.
removeFromSuperview
()
}
}
prepareCard
()
}
}
}
}
...
@@ -264,10 +326,10 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
...
@@ -264,10 +326,10 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
buttonsContainer
!.
backgroundColor
=
MaterialTheme
.
clear
.
color
buttonsContainer
!.
backgroundColor
=
MaterialTheme
.
clear
.
color
addSubview
(
buttonsContainer
!
)
addSubview
(
buttonsContainer
!
)
}
}
prepareCard
()
}
else
{
}
else
{
buttonsContainer
?
.
removeFromSuperview
()
buttonsContainer
?
.
removeFromSuperview
()
}
}
prepareCard
()
}
}
}
}
...
@@ -283,10 +345,10 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
...
@@ -283,10 +345,10 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
buttonsContainer
!.
backgroundColor
=
MaterialTheme
.
clear
.
color
buttonsContainer
!.
backgroundColor
=
MaterialTheme
.
clear
.
color
addSubview
(
buttonsContainer
!
)
addSubview
(
buttonsContainer
!
)
}
}
prepareCard
()
}
else
{
}
else
{
buttonsContainer
?
.
removeFromSuperview
()
buttonsContainer
?
.
removeFromSuperview
()
}
}
prepareCard
()
}
}
}
}
...
@@ -329,7 +391,7 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
...
@@ -329,7 +391,7 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
internal
override
func
prepareView
()
{
internal
override
func
prepareView
()
{
super
.
prepareView
()
super
.
prepareView
()
prepareShadow
()
prepareShadow
()
backgroundColor
=
MaterialTheme
.
blueGrey
.
darken1
backgroundColor
=
MaterialTheme
.
blueGrey
.
color
}
}
//
//
...
@@ -337,8 +399,7 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
...
@@ -337,8 +399,7 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
//
//
internal
override
func
prepareCard
()
{
internal
override
func
prepareCard
()
{
super
.
prepareCard
()
super
.
prepareCard
()
// clear all constraints
// deactivate and clear all constraints
NSLayoutConstraint
.
deactivateConstraints
(
layoutConstraints
)
NSLayoutConstraint
.
deactivateConstraints
(
layoutConstraints
)
layoutConstraints
.
removeAll
(
keepCapacity
:
false
)
layoutConstraints
.
removeAll
(
keepCapacity
:
false
)
...
@@ -356,8 +417,12 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
...
@@ -356,8 +417,12 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
views
[
"titleLabelContainer"
]
=
titleLabelContainer
!
views
[
"titleLabelContainer"
]
=
titleLabelContainer
!
// common text
// common text
Layout
.
height
(
titleLabelContainer
!
,
child
:
titleLabel
!
,
height
:
1.5
*
titleLabel
!.
font
.
pointSize
)
if
0
==
maximumTitleLabelHeight
{
Layout
.
expandToParentWithPad
(
titleLabelContainer
!
,
child
:
titleLabel
!
,
top
:
titleLabelTopInset
,
left
:
titleLabelLeftInset
,
bottom
:
titleLabelBottomInset
,
right
:
titleLabelRightInset
)
Layout
.
expandToParentWithPad
(
titleLabelContainer
!
,
child
:
titleLabel
!
,
top
:
titleLabelTopInset
,
left
:
titleLabelLeftInset
,
bottom
:
titleLabelBottomInset
,
right
:
titleLabelRightInset
)
}
else
{
Layout
.
expandToParentHorizontallyWithPad
(
titleLabelContainer
!
,
child
:
titleLabel
!
,
left
:
titleLabelLeftInset
,
right
:
titleLabelRightInset
)
titleLabelContainer
!.
addConstraints
(
Layout
.
constraint
(
"V:|-(titleLabelTopInset)-[titleLabel(<=maximumTitleLabelHeight)]-(titleLabelBottomInset)-|"
,
options
:
nil
,
metrics
:
[
"titleLabelTopInset"
:
titleLabelTopInset
,
"titleLabelBottomInset"
:
titleLabelBottomInset
,
"maximumTitleLabelHeight"
:
maximumTitleLabelHeight
],
views
:
[
"titleLabel"
:
titleLabel
!
]))
}
}
}
// detail
// detail
...
@@ -370,10 +435,13 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
...
@@ -370,10 +435,13 @@ public class BasicCardView : MaterialCardView, Comparable, Equatable {
verticalFormat
+=
"[detailLabelContainer]"
verticalFormat
+=
"[detailLabelContainer]"
views
[
"detailLabelContainer"
]
=
detailLabelContainer
!
views
[
"detailLabelContainer"
]
=
detailLabelContainer
!
// text
if
0
==
maximumDetailLabelHeight
{
Layout
.
expandToParentWithPad
(
detailLabelContainer
!
,
child
:
detailLabel
!
,
top
:
detailLabelTopInset
,
left
:
detailLabelLeftInset
,
bottom
:
detailLabelBottomInset
,
right
:
detailLabelRightInset
)
}
else
{
Layout
.
expandToParentHorizontallyWithPad
(
detailLabelContainer
!
,
child
:
detailLabel
!
,
left
:
detailLabelLeftInset
,
right
:
detailLabelRightInset
)
Layout
.
expandToParentHorizontallyWithPad
(
detailLabelContainer
!
,
child
:
detailLabel
!
,
left
:
detailLabelLeftInset
,
right
:
detailLabelRightInset
)
detailLabelContainer
!.
addConstraints
(
Layout
.
constraint
(
"V:|-(detailLabelTopInset)-[detailLabel(<=maximumDetailLabelHeight)]-(detailLabelBottomInset)-|"
,
options
:
nil
,
metrics
:
[
"detailLabelTopInset"
:
detailLabelTopInset
,
"detailLabelBottomInset"
:
detailLabelBottomInset
,
"maximumDetailLabelHeight"
:
maximumDetailLabelHeight
],
views
:
[
"detailLabel"
:
detailLabel
!
]))
detailLabelContainer
!.
addConstraints
(
Layout
.
constraint
(
"V:|-(detailLabelTopInset)-[detailLabel(<=maximumDetailLabelHeight)]-(detailLabelBottomInset)-|"
,
options
:
nil
,
metrics
:
[
"detailLabelTopInset"
:
detailLabelTopInset
,
"detailLabelBottomInset"
:
detailLabelBottomInset
,
"maximumDetailLabelHeight"
:
maximumDetailLabelHeight
],
views
:
[
"detailLabel"
:
detailLabel
!
]))
}
}
}
// buttons
// buttons
if
nil
!=
buttonsContainer
&&
(
nil
!=
leftButtons
||
nil
!=
rightButtons
)
{
if
nil
!=
buttonsContainer
&&
(
nil
!=
leftButtons
||
nil
!=
rightButtons
)
{
...
...
Source/ImageCardView.swift
View file @
90bd4619
This diff is collapsed.
Click to expand it.
Source/MaterialTheme.swift
View file @
90bd4619
...
@@ -20,6 +20,17 @@ import UIKit
...
@@ -20,6 +20,17 @@ import UIKit
public
struct
MaterialTheme
{}
public
struct
MaterialTheme
{}
// spacing
extension
MaterialTheme
{
public
static
var
verticalInset
:
CGFloat
=
16
public
static
var
horizontalInset
:
CGFloat
=
16
}
// fonts
extension
MaterialTheme
{
public
static
var
textFontSize
:
CGFloat
=
16
}
// colors
// colors
extension
MaterialTheme
{
extension
MaterialTheme
{
// clear
// clear
...
@@ -369,14 +380,3 @@ extension MaterialTheme {
...
@@ -369,14 +380,3 @@ extension MaterialTheme {
public
static
let
darken4
:
UIColor
=
UIColor
(
red
:
38
/
255
,
green
:
50
/
255
,
blue
:
56
/
255
,
alpha
:
1
)
public
static
let
darken4
:
UIColor
=
UIColor
(
red
:
38
/
255
,
green
:
50
/
255
,
blue
:
56
/
255
,
alpha
:
1
)
}
}
}
}
// spacing
extension
MaterialTheme
{
public
static
var
verticalInset
:
CGFloat
=
8
public
static
var
horizontalInset
:
CGFloat
=
2
*
verticalInset
}
// fonts
extension
MaterialTheme
{
public
static
var
textFontSize
:
CGFloat
=
16
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment