如何仅一次设置导航控制器设置

时间:2018-09-01 12:13:32

标签: swift uinavigationcontroller

在我的快捷应用程序中,我有很多导航控制器,我想为每个控制器设置以下设置:

import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import griddata

import matplotlib.colors as colors
from matplotlib import cm
import copy

# Some data
x = np.array([0, 1, 3, 0, 2, 4])
y = np.array([0, 0, 0, 1, 1, 1])
z = np.array([2, 2, 3, 2, 3, 4])

# Interpolation on a grid:
nrb_points = 101
xi = np.linspace(-.5, 4.5, nrb_points)
yi = np.linspace(-.5, 1.5, nrb_points)

XI, YI = np.meshgrid(xi, yi)
xy = np.vstack((x, y)).T
XY = (XI.ravel(), YI.ravel())

ZI = griddata(points, z, XY,
              method='linear',
              fill_value=np.nan) # Value used [for] points
                                 # outside of the convex hull
                                 # of the input points.
ZI = ZI.reshape(XI.shape)

# Color map:
cmap = copy.copy(cm.jet)
cmap.set_bad('grey', 1.)

# Graph:
plt.pcolormesh(xi, yi, ZI,
               #norm=colors.LogNorm(),
               cmap=cmap);
plt.colorbar(label='z');
plt.plot(x, y, 'ko');
plt.xlabel('x'); plt.ylabel('y');

我怎么只能一次设置此设置,我的意思是不为每个类编写此代码?

1 个答案:

答案 0 :(得分:0)

创建类似

的BaseViewController
class BaseViewConroller: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    navSetting()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


func navSetting() {
    navigationController?.navigationBar.backIndicatorImage = #imageLiteral(resourceName: "backArrow").withRenderingMode(.automatic)
    navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "backArrow")
    navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: 
.plain, target: nil, action: nil)
    navigationItem.backBarButtonItem?.tintColor = UIColor(red: 235/255, green: 235/255, blue: 235/255, alpha: 1)
   }
}

您可以像创建所有视图控制器一样

class HomeViewController: BaseViewConroller {
   ...
}